避免在Gridview(Android)中加载图像的时间
在我的应用程序中,我从移动数据库导入图像并将其显示到应用程序的gridview中避免在Gridview(Android)中加载图像的时间,android,android-asynctask,android-gridview,Android,Android Asynctask,Android Gridview,在我的应用程序中,我从移动数据库导入图像并将其显示到应用程序的gridview中 String[] projection = { MediaStore.Images.Media._ID,}; Cursor mImageCursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, null ); if (mImageCu
String[] projection = { MediaStore.Images.Media._ID,};
Cursor mImageCursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, null );
if (mImageCursor != null)
{
mImageCursor.moveToFirst();
for (int i = 0; i < mImageCursor.getCount(); i++)
{
Images im=new Images();
eachImageView=new ImageView(this);
int imageId = mImageCursor.getInt((mImageCursor.getColumnIndex( MediaStore.Images.Media._ID)));
selectedImageUri = Uri.withAppendedPath(
MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "" + imageId);
ContentResolver cr = getContentResolver();
Bitmap bm = getScaledImage(selectedImageUri, 2, cr);
im.setBitmap(bm);
eachImageView.setImageBitmap(bm);
im.setImageView(eachImageView);
arrayOfImages.add(im);
mImageCursor.moveToNext();
}
}
String[]projection={MediaStore.Images.Media.\u ID,};
Cursor mImageCursor=getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,projection,null,null);
if(mImageCursor!=null)
{
mImageCursor.moveToFirst();
对于(int i=0;i
但问题是,当图像的数量更多时,它需要花费太多的时间。我听说异步任务可以减少这一时间,但我不知道如何在代码中实现它。
请给我提供解决方案。
提前感谢。如果要在不冻结UI线程的情况下执行操作,请使用AsyncTask。 在你的情况下,你可以用一个。但是,似乎在活动启动时正在加载图像,以便可以使用加载程序 文档和DemoApi中提供了非常好的示例 及