價格:免費
更新日期:2018-05-26
檔案大小:1.7M
目前版本:1.0
版本需求:Android 4.1 以上版本
官方網站:mailto:gaineyj0349@gmail.com
****THIS APP STARTS CLAIMING MEMORY ON LAUNCH ****
I made this very simple tool app for android developers specifically. This app will safely make your background app processes get reclaimed for needed memory. No permissions- as this is a simple app.
An example of how this app can help:
App1 launches in a process with Activity A as the launcher. There is a static singleton in Activity A. User navigates to Activity B in the same task. Activity B has a reference the singleton in Activity A. (variable db = MainActivity.db; for example) Now Activity B is at the top of the stack. User presses the home button and App1 sits for hours in the background. In time, android will need to reclaim memory for other functions/apps. When this happens it will kill off background processes that are idle. In this case, App1 process is terminated.
No problem as this is the design. Lets continue the story.
User presses App1 icon to "reopen"it - and BAM! the dreaded "App1 has stopped"
NullPointerException. This happens because when android tries to reopen the app from a killed process it will try opening the last activity that the user was at. In this case Activity B. Remember that Activity B referenced a singleton in Activity A. However Activity A no longer exists (well it exists and is in the stack, but needs to be recreated and hence that variable reinitialized).
So, using this app can test for things like this when you are developing your own apps. But instead of waiting hours for the system to reclaim the memory, you can achieve this in less than a minute.
Easiest way is to use this app during testing is to put logging data inside of each lifecycle method and watch the logcat as you reopen your app after using this one to kill it off.
Because ordinarily when you open your app and navigate away from it, you know that onPause (among others) is called. and when you reopen it, onResume is called (not onCreate, as it is already created)... however when the system kills it off due to memory needs, it will have to recreate it. and will call onCreate. BUT REMEMBER it will first call it on the last activity that was at the top before it was destroyed, not the launching activity (unless of course it was on the top of the stack)
if all that was confusing, see the video I have attached to this listing
Hopefully you understand now how this app can be helpful