如何通过 Camera Intent 加载 Pic Clicked 的缩略图
How to load thumbnails of Pic Clicked via Camera Intent
我的应用程序通过相机意图拍照。我应该如何在网格视图中显示他们的小尺寸版本以供查看。我应该创建他们的缩略图并将它们存储在缓存或外部存储中还是应该使用默认图库应用程序创建的缩略图。我的照片存储在外部存储器中,所以我希望默认图库应用程序会自动制作它们的缩略图。如果是,那么我应该如何将每个图像与默认图库应用程序创建的缩略图进行映射。
嗯,我有答案了
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 异常而崩溃。有什么解决方法吗??
也得到了第二个问题的答案:-- 异步 class。
好吧,我发现 Async class 可以处理内存使用情况。
相关的link是:http://developer.android.com/intl/es/reference/android/os/AsyncTask.html
我的应用程序通过相机意图拍照。我应该如何在网格视图中显示他们的小尺寸版本以供查看。我应该创建他们的缩略图并将它们存储在缓存或外部存储中还是应该使用默认图库应用程序创建的缩略图。我的照片存储在外部存储器中,所以我希望默认图库应用程序会自动制作它们的缩略图。如果是,那么我应该如何将每个图像与默认图库应用程序创建的缩略图进行映射。
嗯,我有答案了
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 异常而崩溃。有什么解决方法吗??
也得到了第二个问题的答案:-- 异步 class。
好吧,我发现 Async class 可以处理内存使用情况。
相关的link是:http://developer.android.com/intl/es/reference/android/os/AsyncTask.html