Android: быстрое изменение изображений (например, анимация) - PullRequest
1 голос
/ 25 марта 2011

Я хочу быстро указать 10 различных изображений, когда я перетаскиваю палец на экране. Изображения хранятся в SDCard. Я использую этот код для отображения изображений на экране, но изменение происходит слишком медленно.

public class ImageActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    image = (ImageView) findViewById(R.id.image);

    File images = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM); 
    File[] imagelist = images.listFiles(new FilenameFilter(){ 
        public boolean accept(File dir, String name) { 
            return ((name.endsWith(".jpg"))||(name.endsWith(".png"))); 
        } 
    }); 
    mFiles = new String[imagelist.length]; 
    for(int i= 0 ; i< imagelist.length; i++) { 
        mFiles[i] = imagelist[i].toString();
    } 
    getImageFromSDCard();
}

public void getImageFromSDCard() {
    BitmapFactory.Options options = new BitmapFactory.Options();
    options.inSampleSize = 8;
    try {
        if(mFilePosition < mFiles.length) {
            Log.d("", mFiles[mFilePosition]);
            Bitmap b = BitmapFactory.decodeFile(mFiles[mFilePosition], null);
            image.setImageBitmap(b);
            mFilePosition = 0;
        }

    } catch (Exception e) {
       //Log error
    }
    b = null;
    System.gc();
}

@Override
public boolean onTouchEvent(MotionEvent event) {

    if (event.getAction() == MotionEvent.ACTION_MOVE) {
        getImageFromSDCard();
    } 
}}

Что я в основном пытаюсь сделать, так это сделать что-то вроде анимации. Так как я могу заставить изображения загружаться быстрее?

1 Ответ

1 голос
/ 25 марта 2011

Вы можете подождать, пока загрузка завершится, и только отображение изображений в режиме просмотра изображений.Для этого удалите оператор image.setImageBitmap (b);из цикла for и создайте массив массивов растровых изображений для хранения изображений. Таким образом, вы можете убедиться, что изображения загружены, прежде чем вы хотите их отобразить.}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...