私のアプリでは、SDカードに画像を表示するオプションがあり、ユーザーは1つの画像を選択でき、次のアクティビティの画像ビューに読み込まれます。
Samsung Ace や Samsung Galaxy S3 などの 2 つのデバイスでアプリをテストしました。
2.3バージョンのSamsung Aceでは、画像を選択でき、onActivityの結果から次のアクティビティが呼び出され、画像がImageviewにロードされます。ここでは、これをn回実行できます(使用する他のオプションはカメラを介してキャプチャし、次のアクティビティでロードします。ここでもプロセスは良好です)
バージョン4.2のSamsung Galaxy S3で同じプロセスを初めて試したとき、カメラを介して選択またはキャプチャして、イメージビューにロードすることができました。2回目にしようとすると、アプリがクラッシュして、
E/dalvikvm-heap( 7058): Out of memory on a 31961104-byte allocation.
E/AndroidRuntime( 7058): FATAL EXCEPTION: main
E/AndroidRuntime( 7058): java.lang.OutOfMemoryError
E/AndroidRuntime( 7058): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
E/AndroidRuntime( 7058): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:587)
E/AndroidRuntime( 7058): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:389)
E/AndroidRuntime( 7058): at android.graphics.BitmapFactory.decodeFile(BitmapFactory.java:418)
E/AndroidRuntime( 7058): at com.tribal.pages.app.UploadPhoto$ShowCapturedImage.onPostExecute(UploadPhoto.java:442)
E/AndroidRuntime( 7058): at com.tribal.pages.app.UploadPhoto$ShowCapturedImage.onPostExecute(UploadPhoto.java:1)
E/AndroidRuntime( 7058): at android.os.AsyncTask.finish(AsyncTask.java:602)
E/AndroidRuntime( 7058): at android.os.AsyncTask.access$600(AsyncTask.java:156)
E/AndroidRuntime( 7058): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
E/AndroidRuntime( 7058): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime( 7058): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime( 7058): at android.app.ActivityThread.main(ActivityThread.java:4517)
E/AndroidRuntime( 7058): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime( 7058): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime( 7058): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
E/AndroidRuntime( 7058): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
E/AndroidRuntime( 7058): at dalvik.system.NativeStart.main(Native Method)
E/android.os.Debug( 2098): !@Dumpstate > dumpstate -k -t -n -z -d -o /data/log/dumpstate_app_error
E/widget ( 2468): [MSC_HERO_Accu]>>> SM:399 [0:0] IR : false, IPR : false
E/Launcher( 2468): Error finding setting, default accessibility to not found: accessibility_enabled
E/widget ( 2468): [MSC_HERO_Accu]>>> SM:399 [0:0] IR : false, IPR : false
キャプチャした画像または選択した画像をImageViewにロードするために、次の2つの方法を使用してみました方法1
Bitmap bitmap = BitmapFactory.decodeStream(getContentResolver().openInputStream(Appconstants._uri));
bitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
ImageView uplaod_image.setImageBitmap(bitmap);
方法 2
Bitmap bitmap = BitmapFactory.decodeFile(Appconstants.f);
ImageView uplaod_image.setImageBitmap(bitmap);
しかし、上記のエラーを言ってアプリがクラッシュするたびに、これを解決する方法....