I seem to now have possibly found a method for enhancing GO4 app stability on Android phones!
Today I have been able first time to fly 3 batteries with my Mavic down from 100% to 30% without the need for rebooting my phone between flights.
Problem:
Depending on how you will hold the remote while not looking onto the phone screen, the phone's orientation sensor may cause a screen rotation for 180°, at least for me. This happens quite often when flying on natural sight or using the DJI goggles.
Rotating the screen is a system-wide action which requires lots of processor power. Major parts of the GO4 app will be restarted every time it happens. I suspect that there might be synchronisation problems between foreground process and background processes, leading to memory leaks where not all previously allocated RAM will be released.
If this happens more often, the video display will slow down, some screen elements won't be drawn any longer and finally the app may freeze, crash or even freeze the whole phone.
Solution:
My idea was to install a further app which reliably prevents automatic screen rotation and keep orientation always same.
Fortunately there are many such apps on Google Play store for this purpose. I have used this one:
Smart Rotate: Screen Control - Android Apps on Google Play
Advantage here, you can define a screen orientatrion within the apps settings which will automatically be selected and locked as soon as an USB connection will be established, for the Mavic it is reverse landscape mode.
So, as soon as the phone will connect to the running remote, the screen will change into landscape orientation and after unplugging it will return to defauld mode.
When the GO4 app will start up even the main screen will be displayed in landscape mode and is no longer fully usable this way. But the "Go Fly" button is there and after tapping all looks as usual again and you can hold the phone in any way you want without the screen getting rotated.
This method will work for all drones, especially of interest for Spark users, too.
Ideally DJI should integrate the orientation locking functioonality directly into the GO4 app, putting an option into app settings to decide if the mobile device shall be locked in either landscape or inverted landscape mode after tapping onto "Go Fly".
Today I have been able first time to fly 3 batteries with my Mavic down from 100% to 30% without the need for rebooting my phone between flights.
Problem:
Depending on how you will hold the remote while not looking onto the phone screen, the phone's orientation sensor may cause a screen rotation for 180°, at least for me. This happens quite often when flying on natural sight or using the DJI goggles.
Rotating the screen is a system-wide action which requires lots of processor power. Major parts of the GO4 app will be restarted every time it happens. I suspect that there might be synchronisation problems between foreground process and background processes, leading to memory leaks where not all previously allocated RAM will be released.
If this happens more often, the video display will slow down, some screen elements won't be drawn any longer and finally the app may freeze, crash or even freeze the whole phone.
Solution:
My idea was to install a further app which reliably prevents automatic screen rotation and keep orientation always same.
Fortunately there are many such apps on Google Play store for this purpose. I have used this one:
Smart Rotate: Screen Control - Android Apps on Google Play
Advantage here, you can define a screen orientatrion within the apps settings which will automatically be selected and locked as soon as an USB connection will be established, for the Mavic it is reverse landscape mode.
So, as soon as the phone will connect to the running remote, the screen will change into landscape orientation and after unplugging it will return to defauld mode.
When the GO4 app will start up even the main screen will be displayed in landscape mode and is no longer fully usable this way. But the "Go Fly" button is there and after tapping all looks as usual again and you can hold the phone in any way you want without the screen getting rotated.
This method will work for all drones, especially of interest for Spark users, too.
Ideally DJI should integrate the orientation locking functioonality directly into the GO4 app, putting an option into app settings to decide if the mobile device shall be locked in either landscape or inverted landscape mode after tapping onto "Go Fly".