You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Dagfinn Parnas (JIRA)" <ji...@apache.org> on 2016/04/07 12:27:25 UTC
[jira] [Created] (CB-11034) Camera.getPicture -Handle of
OutOfMemoryError gracefully
Dagfinn Parnas created CB-11034:
-----------------------------------
Summary: Camera.getPicture -Handle of OutOfMemoryError gracefully
Key: CB-11034
URL: https://issues.apache.org/jira/browse/CB-11034
Project: Apache Cordova
Issue Type: Bug
Components: Plugin Camera
Affects Versions: 2.1.1
Environment: Android
Reporter: Dagfinn Parnas
We have an app for which we are dependent on using DATA_URL.
On some older phones (Samsung SII Android 4.1), we have experienced sporadic OutOfMemoryError exceptions when taking a picture.
When this occurs the app crashes since the camera plugin doesn't explicitly handle the java.lang.OutOfMemoryError which is thrown.
It's ok that the OutOfMemoryError appear, but the apps should be able to handle it gracefully and not just have the app crash.
Example stack trace from an uncaught OutOfMemoryError
{code}
04-06 09:51:55.155: E/dalvikvm-heap(22744): Out of memory on a 31961104-byte allocation.
04-06 09:51:55.155: I/dalvikvm(22744): at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
04-06 09:51:55.160: I/dalvikvm(22744): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:652)
04-06 09:51:55.160: I/dalvikvm(22744): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:724)
04-06 09:51:55.160: I/dalvikvm(22744): at org.apache.cordova.camera.CameraLauncher.getScaledBitmap(CameraLauncher.java:916)
04-06 09:51:55.160: I/dalvikvm(22744): at org.apache.cordova.camera.CameraLauncher.processResultFromCamera(CameraLauncher.java:454)
04-06 09:51:55.160: I/dalvikvm(22744): at org.apache.cordova.camera.CameraLauncher.onActivityResult(CameraLauncher.java:753)
04-06 09:51:55.160: I/dalvikvm(22744): at org.apache.cordova.CordovaInterfaceImpl.onActivityResult(CordovaInterfaceImpl.java:120)
{code}
In the example above, CameraLauncher.getScaledBitmap doesn't catch the java.lang.OutOfMemoryError and the app crashes. The same situation can occur in CameraLauncher.processPicture (which has a try catch with only exception)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org