[ https://issues.apache.org/jira/browse/CB-8631?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sergey Grebnov resolved CB-8631. -------------------------------- Resolution: Cannot Reproduce No repro on iPhone 5 iOS 8.1 device. Looks like this is fixed in the latest version. > Memory leak in navigator.geolocation.getCurrentPosition on iOS > -------------------------------------------------------------- > > Key: CB-8631 > URL: https://issues.apache.org/jira/browse/CB-8631 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin Geolocation > Affects Versions: 4.0.0 > Environment: Mac - Mavericks 10.9.5, Version 6.1.1 (6A2008a), Cordova > 4.1.2. Also same behaviour on Mac Yosemite 10.10.2 , iOS Simulator 8.1, 7.1 > and iOS phone 8.1 > Reporter: Robert Willett > Labels: geolocation, ios, memory-leak, triaged > Attachments: screenshot-memory-usage(no-repro).png > > > Calling navigator.geolocation.getCurrentPosition appears to leak memory, > A simple test case with all steps: > 1. cordova create geolocationtest com.example.geolocation GeoLocation > 2. cordova plugins add org.apache.cordova.console > 3. cordova plugin add org.apache.cordova.geolocation > 4. cordova platform add iOS > 5. Replace the www/js/index.js with the below below. This is basically the > starter code and only two functions have been added, onSuccess and onFailure > along with a timer call to navigator.geolocation.getCurrentPosition() > function onSuccess(position) { > console.log("Success..."); > } > function onFailure(error) { > console.log("Failed..."); > } > var app = { > // Application Constructor > > > initialize: function() { > this.bindEvents(); > }, > bindEvents: function() { > document.addEventListener('deviceready', this.onDeviceReady, false); > }, > onDeviceReady: function() { > app.receivedEvent('deviceready'); > setInterval(function () { > navigator.geolocation.getCurrentPosition(onSuccess , > onFailure); > } , 1000); > }, > receivedEvent: function(id) { > var parentElement = document.getElementById(id); > var listeningElement = parentElement.querySelector('.listening'); > var receivedElement = parentElement.querySelector('.received'); > listeningElement.setAttribute('style', 'display:none;'); > receivedElement.setAttribute('style', 'display:block;'); > console.log('Received Event: ' + id); > } > }; > app.initialize(); > 6. cordova build ios > 7. Run the code in Xcode. The memory footprint keeps climbing as memory from > the getCurrentPosition call does not appear to be released. > 8. Commenting out the console.log entries stills shows the memory footprint > climbing around 200K per call to navigator.geolocation.getCurrentPosition(). > The navigator.geolocation.getCurrentPosition call appears to work correctly > and reports the correct position. -- 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