[ https://issues.apache.org/jira/browse/CB-5732?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13873826#comment-13873826 ]
Carlos Santana commented on CB-5732: ------------------------------------ according to the cordova docs, iOS have some problems with high quality pictures http://cordova.apache.org/docs/en/3.3.0/cordova_camera_camera.md.html#Camera iOS Quirks: Set quality below 50 to avoid memory errors on some devices. > Plugin 'CDVCamera' has a pending operation, memory purge is delayed for > didReceiveMemoryWarning. > ------------------------------------------------------------------------------------------------ > > Key: CB-5732 > URL: https://issues.apache.org/jira/browse/CB-5732 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin Camera > Affects Versions: 3.1.0 > Environment: * Mac OS X (10.8.5) > * XCode 5.2 > * iOs 7 > {quote}phonegap local --version > 3.1.0-0.15.0{quote} > Reporter: Brian Zitzow > Labels: camera, ios, ios7, memory, memory-leak, plugin > > The application is crashing only when multiple pictures are taken. There is a > memory error in the logs. I'm using the cordova camera plugin: > https://github.com/apache/cordova-plugin-camera > The crash doesn't happen during the picture taking, but shortly after. If I > don't take the pictures, the application doesn't crash. At this point, I'm > assuming the memory is being filled up, and CDVCamera isn't crashing - > however, it's also not releasing memory - so the next memory intensive task > that is performed crashes the application. > I searched through the existing JIRA issues - here is what i found: > CB-1751 (Feature - Resolved) is related to someone writing a new plugin. I am > using the existing plugin. > CB-975 - (Bug - Reopened) Lorin Asked: > {quote}Could you share any memory profiling data you've collected?{quote} > I will be happy to provide memory profiling data, but I'm not sure how to > collect it. If you could provide some guidance, I will gather the information. > CB-391 (Bug - Resolved) - I'm not sure this applies. > *The application log from XCode* > Note: the line '--- Camera Success ----' indicates that a picture was taken. > {code}2014-01-06 17:12:05.434 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:05.490 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:12:15.720 ESA Mobile[38556:60b] ---- Camera Success ---- > 2014-01-06 17:12:18.378 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:18.442 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:12:24.182 ESA Mobile[38556:60b] ---- Camera Success ---- > 2014-01-06 17:12:29.027 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:29.082 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:12:32.121 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:33.896 ESA Mobile[38556:60b] ---- Camera Success ---- > 2014-01-06 17:12:40.399 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:40.433 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:12:43.129 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:44.595 ESA Mobile[38556:60b] ---- Camera Success ---- > 2014-01-06 17:12:49.852 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:49.886 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:12:50.607 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:50.648 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:12:50.651 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:50.684 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:12:53.967 ESA Mobile[38556:60b] ---- Camera Success ---- > 2014-01-06 17:12:59.417 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:12:59.464 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:13:00.491 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:13:00.535 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:13:00.713 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:13:00.755 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:13:03.841 ESA Mobile[38556:60b] ---- Camera Success ---- > 2014-01-06 17:13:09.368 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:13:09.419 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:13:11.056 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:13:11.091 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:13:11.241 ESA Mobile[38556:60b] Received memory warning. > 2014-01-06 17:13:11.275 ESA Mobile[38556:60b] Plugin 'CDVCamera' has a > pending operation, memory purge is delayed for didReceiveMemoryWarning. > 2014-01-06 17:13:14.544 ESA Mobile[38556:60b] ---- Camera Success ---- > 2014-01-06 17:13:15.986 ESA Mobile[38556:60b] Received memory warning.{code} > *The crash report obtained from iTunes* > {code} > Incident Identifier: F1917304-FBC6-4278-86A5-04CFD0D1AFC6 > CrashReporter Key: 6c8c459edbbe6e7d2bb1e74cef9c93d838307e20 > Hardware Model: iPad4,1 > OS Version: iPhone OS 7.0.3 (11B511) > Kernel Version: Darwin Kernel Version 14.0.0: Fri Sep 27 23:08:32 PDT > 2013; root:xnu-2423.3.12~1/RELEASE_ARM64_S5L8960X > Date: 2014-01-06 17:14:50 -0800 > Time since snapshot: 101 ms > Free pages: 44512 > Active pages: 106902 > Inactive pages: 39358 > Speculative pages: 6656 > Throttled pages: 0 > Purgeable pages: 25 > Wired pages: 37450 > File-backed pages: 27188 > Anonymous pages: 125728 > Compressions: 477806 > Decompressions: 106966 > Compressor Size: 21463 > Uncompressed Pages in Compressor: 85378 > Largest process: ESA Mobile > Processes > Name <UUID> rpages > recent_max fds [reason] (state) > wirelessproxd <9f112d11a5f734019013a43e9fc677a9> 188 > 188 200 (daemon) (idle) > tccd <a4190e0e6f6b3d23b06326c8935a5bb4> 185 > 185 200 (daemon) > kbd <4350c1efc23b3182809fcb6d8a7885fd> 1259 > 1259 200 (daemon) > ESA Mobile <18c89bdf1b40339697d042bb287713ee> 179200 > 179200 200 [per-process-limit] (frontmost) (resume) > ptpd <872030b325d9383b95a5434d41f77b25> 1077 > 1077 200 (daemon) > identityservices <cd1fff47d6ad3b0f85cdc5fb39d8b53e> 400 > 400 100 (daemon) > imagent <5080234127f5363fb539ffc3965af6e2> 286 > 286 50 (daemon) > wifid <ca4f06468bf03d0f8847089e8cd320f1> 1030 > 1030 50 (daemon) > powerd <a1fc82c399dc36e2b18a6fbb3d936a88> 158 > 158 100 (daemon) > mediaserverd <f067d4c2a21a30fbabab30d9c94ccbd3> 4314 > 4314 50 (daemon) > iaptransportd <4c622f6c4295395997e7a6ec783b4623> 265 > 265 100 (daemon) > mDNSResponder <2b8ad561938f3fc0a6255b607f503040> 298 > 298 100 (daemon) > apsd <ceb7855af3a63c2682fab13d5e0aeb82> 835 > 835 100 (daemon) > mediaremoted <4734e15435133a48bdba8714c6b14782> 281 > 281 100 (daemon) > calaccessd <d6960604dc2c37499cd597b510055d7e> 961 > 961 200 (daemon) > itunesstored <0d023473a4a93c93a531210de784b155> 2488 > 2488 200 (daemon) > syslogd <5c3a246617d3399e977efc84c2e29df2> 1741 > 1741 200 (daemon) > locationd <10f268a18d5d3343ab21be48bb005ecf> 5971 > 5971 200 (daemon) > sharingd <550630f3f5dc3f0aa08ba04876d82e6d> 682 > 682 200 (daemon) > voiced <baad1d590ec8344385d046dacfa431da> 290 > 290 200 (daemon) > syslog_relay <773c693446c6346f9aa3fa3b56388ffb> 112 > 112 200 (daemon) > SpringBoard <fe632b47e4ee342baf4b3701cd11b242> 21698 > 21698 50 > backboardd <2f84882cf3693dfb921f4e0d38966f50> 23995 > 23995 50 (daemon) > fseventsd <a0223d346d4431a5ba1caabf8505b40e> 792 > 792 50 (daemon) > lockdownd <e280cf66209e3be980809a7d93eea76e> 594 > 594 50 (daemon) > configd <bb6e02e801a93ef896f2f3cf5cbb00fe> 739 > 739 50 (daemon) > fairplayd.A2 <f788338420e63532960518b7b1333967> 146 > 146 100 (daemon) > aggregated <6189b3e3d0c83a879b99cf7cd566dffb> 670 > 670 100 (daemon) > BTServer <3669aefbfb2e3577b17bde9598feda76> 1671 > 1671 100 (daemon) > distnoted <c40569cbea09312b9310bc74cbc88e29> 438 > 438 100 (daemon) > UserEventAgent <0d33b64c0c003a65b9a87c6622921781> 1267 > 1267 50 (daemon) > networkd <c7aa87e0c2d33d379a09598281a5e3ee> 707 > 707 100 (daemon) > itunescloudd <b5212676352c3730a6790fc982cb9c27> 775 > 775 100 (daemon) > filecoordination <72a4cec360d435c09cb83d2316317288> 220 > 220 200 (daemon) > EscrowSecurityAl <e14ee8c5bc0f3447b6cdaad44ab402da> 231 > 231 200 (daemon) > touchsetupd <0c315f01ae8d3675ad1a4eda4c9b18bb> 207 > 207 200 (daemon) > notification_pro <72244e97bc7d33408cd01f8c7fb7d2eb> 147 > 147 100 (daemon) > XcodeDeviceMonit <2da714a41fbd33e59d392c0fb1667024> 297 > 297 200 (daemon) > ubd <231dc91e9b11307eb98874f9bbfaa86c> 406 > 406 200 (daemon) > debugserver <756146181af631a9b08c7e3c8525c41d> 207 > 207 200 (daemon) > cplogd <96828e7047bf36e2a1cdffcc1be700f8> 142 > 142 200 (daemon) > CommCenterClassi <43ec18e4391c3f58a157849cda0d61e0> 511 > 511 50 (daemon) > notifyd <bd919e93d6293562af0b7ec0e21247a0> 260 > 260 100 (daemon) > **End** > {code} > *The relevant code* > {code} > /** > * Phonegap camera.getPicture callback function - SUCCESS > */ > var onSuccess = function (imageData) { > console.log("---- Camera Success ----"); > var document = { > Type: { > Id: $scope.documentType.Value, > Name: > Config.formSettings.DocumentTypes[$scope.documentType.Value - 1].Key > }, > Base64: imageData > } > $scope.$apply(function () { > $scope.EnrollmentService.Documents.push(document); > }); > } > /** > * Phonegap camera.getPicture callback function - FAIL > */ > var onFail = function (message) { > console.log("---- Camera Fail ----"); > console.log(message); > } > /** > * Take the picture > */ > navigator.camera.getPicture(onSuccess, onFail, { quality: 50, > destinationType: Camera.DestinationType.DATA_URL > });{code} -- This message was sent by Atlassian JIRA (v6.1.5#6160)