Uploaded image for project: 'Apache Cordova'
  1. Apache Cordova
  2. CB-1513

Cordova app gets killed by garbage collector when out of memory due to camera

    XMLWordPrintableJSON

    Details

      Description

      I'm using PhoneGap's navigator.camera.getPicture function to retrieve a photo from the device's camera on Android.

      When I click the button, it does start the camera, but when I click OK on the camera app after taking a photo, it restarts the application.

      I tried to:

      • use different source types.
      • use different destination types.
      • reduce quality.

      Any ideas?

      I know this:

      This problem isn't actually about Phonegap. It's a common issue on native android apps too.

      It occurs because when the camera is triggered, the android activity goes background (onStop state), waiting for the camera to take the picture. Then the GC comes and kills the activity to free memory before the conclusion of camera action, and when the camera is done your activity has already died. That is why the app is restarted.

      From: Stackoverflow

      I have also tried this:

      We submited a Google Code project named Foreground Camera Plugin that fixes the problem of Android Camera restarting Phonegap applications. There is some orientation on how to use it too. Please see: http://code.google.com/p/foreground-camera-plugin/

      From: Stackoverflow

      But that didn't work for me... The same goes for EmbeddedCameraApp. They are all built on older versions of Cordova. I use Cordova version 2.0.0

      Conclusion: It seems to me that the only solution is to use a custom made camera that's implemented in the app as a new activity. Like that, the app doesn't go to the background and isn't killed by the garbage collector.

      Can this be made?

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                bowserj Joey Robert Bowser
                Reporter:
                rubenvh Ruben Vanhoeyveld
              • Votes:
                0 Vote for this issue
                Watchers:
                6 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 168h
                  168h
                  Remaining:
                  Remaining Estimate - 168h
                  168h
                  Logged:
                  Time Spent - Not Specified
                  Not Specified