为什么我的Android应用程序在第二次从gallery加载图像时崩溃?
我写了一个应用程序,它可以使用android gallery应用程序加载图像,也可以使用cam拍照 当我现在使用gallery加载图像时,一切正常。当第二次执行代码以加载另一个映像时,应用程序崩溃为什么我的Android应用程序在第二次从gallery加载图像时崩溃?,android,image,gallery,Android,Image,Gallery,我写了一个应用程序,它可以使用android gallery应用程序加载图像,也可以使用cam拍照 当我现在使用gallery加载图像时,一切正常。当第二次执行代码以加载另一个映像时,应用程序崩溃 try { Uri data = intent.getData(); ContentResolver cr = this.getContentResolver(); Bitmap mBitmap = nul
try {
Uri data = intent.getData();
ContentResolver cr = this.getContentResolver();
Bitmap mBitmap = null;
mBitmap = Media.getBitmap(cr, data);
imageView.setImageBitmap(mBitmap);
} catch(Exception e){
showToast(this, "Failed loading image from gallery");
return;
}
代码在行mBimap=Media.getBitmapcr,data;处崩溃;。一切都初始化了,没有空值等等。奇怪的是:没有抛出异常,我没有进入catch块来确定出了什么问题
有人对此有想法吗?不允许我重复使用内容解析程序吗?我必须在第一次使用或类似的情况下释放它吗?查看日志类并在代码块中放入一些调试语句,可能还有其他问题。如果您关心ContentResolver,请尝试在try块中首先将其设置为null,以便在加载第二个之前将其设置为null,但我认为情况并非如此。您确定没有从位图加载中获得OfMemoryError吗?如果您使用的是大图像,特别是如果它们不是RGB_565,那么要超过16/24MB的限制并不难。即使您有足够的内存,应用程序也可能崩溃,但您不能一次分配一个大数据块。请使用adb logcat、DDMS或Eclipse中的DDMS透视图检查日志。即使没有可捕获的异常,这些日志中也很可能有某种东西会指出您的困难来源。