我的应用程序通过相机意图拍照。我应该如何在网格视图中显示他们的小尺寸版本以供查看。我应该创建缩略图并将它们存储在缓存或外部存储中还是应该使用Default Gallery应用程序创建的缩略图。我的图片存储在外部存储器中,因此我希望默认图库应用程序会自动显示缩略图。如果是,那么我应该如何使用默认图库应用程序创建的缩略图映射每个图像。
答案 0 :(得分:0)
好吧,我有一个答案
public Bitmap getbitpam(String path) {
Bitmap imgthumBitmap = null;
try {
final int THUMBNAIL_SIZE =300 ;
FileInputStream fis = new FileInputStream(path);
imgthumBitmap = BitmapFactory.decodeStream(fis);
imgthumBitmap = Bitmap.createScaledBitmap(imgthumBitmap,
THUMBNAIL_SIZE, THUMBNAIL_SIZE, false);
ByteArrayOutputStream bytearroutstream = new ByteArrayOutputStream();
imgthumBitmap.compress(Bitmap.CompressFormat.JPEG, 100, bytearroutstream);
} catch (Exception ex) {
}
return imgthumBitmap;
}
然而,这需要占用大量内存。我也发现了一种奇怪的行为。当我在网格视图中滚动时,它需要更多RAM。使用的内存增长是累积的,最后应用程序因Memory_Low异常而崩溃。对它有任何解决方法??
也得到第二个问题的答案: - 异步类。
答案 1 :(得分:0)
好吧,我发现Async类可以处理内存使用情况。
相关链接为:http://developer.android.com/intl/es/reference/android/os/AsyncTask.html