[ 
https://issues.apache.org/jira/browse/CB-11034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15233205#comment-15233205
 ] 

ASF GitHub Bot commented on CB-11034:
-------------------------------------

Github user riknoll commented on the pull request:

    
https://github.com/apache/cordova-plugin-camera/pull/201#issuecomment-207661306
  
    There are definitely cases where native exceptions should be surfaced to 
the javascript, but memory issues are the responsibility of the native 
developer. There isn't much that can be done from the Webview to correctly 
handle that situation


> 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
>              Labels: Android, mustfix, triaged
>
> 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-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org

Reply via email to