Android 6: App uses more memory each time it's started
In Android Studio, click Android Monitor
at the bottom of your screen. Click the tab Monitors
. You see a graph of the memory that your app uses. Now click the item Dump Java Heap
which is next to the garbage van. The system starts collecting the info and creates a dump file. You can open the file in the Analyze Tasks
tab in the upper right of your Android Studio window. Press the green arrow to find classes that leak memory. When you click a leaking activity, you'll see a window Reference Tree
. Go through the tree, finding the member that has depth zero. That's the memory leak.
Analyse your code and images if anything wrong you are doing itself. Like very large images of drawables. make sure you correctly implement recycler or list views. The following links may helpful to you.
Use leakcanary library to detect and make sure there is not leaks
Detect when user kill app from reccent apps
Invoke gc from memory monitor comes with Android Studio for correct value of memory usage cause gc not run frequently.
Use large heap size.
<application android:largeHeap="true"
in manifestUse app context to start services
startService(new Intent(getApplicationContext(),MyService.class));