cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-11034) Camera.getPicture -Handle of OutOfMemoryError gracefully
Date Sat, 09 Apr 2016 00:24:25 GMT

    [ 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-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message