Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/AliAsadi/avoid-memory-leak-android
/ functions
Functions
61 in github.com/AliAsadi/avoid-memory-leak-android
⨍
Functions
61
◇
Types & classes
26
↓ 3 callers
Method
onDownloadTaskDone
()
leak-app/src/main/java/aliasadi/memoryleak/leak/DownloadListener.java:7
↓ 2 callers
Method
start
(Context context)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/ThreadActivity.java:42
↓ 2 callers
Method
start
(Context context)
leak-app/src/main/java/aliasadi/memoryleak/leak/ThreadActivity.java:32
↓ 1 callers
Method
getInstance
(Context context)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/SingletonManager.java:17
↓ 1 callers
Method
getInstance
(Context context)
leak-app/src/main/java/aliasadi/memoryleak/leak/SingletonManager.java:17
↓ 1 callers
Method
start
(Context context)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/StaticAsyncTaskActivity.java:48
↓ 1 callers
Method
start
(Context context)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/HandlerActivity.java:51
↓ 1 callers
Method
start
(Context context)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/SingletonActivity.java:26
↓ 1 callers
Method
start
(Context context)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/AsyncTaskActivity.java:38
↓ 1 callers
Method
start
(Context context)
leak-app/src/main/java/aliasadi/memoryleak/leak/StaticAsyncTaskActivity.java:31
↓ 1 callers
Method
start
(Context context)
leak-app/src/main/java/aliasadi/memoryleak/leak/HandlerActivity.java:52
↓ 1 callers
Method
start
(Context context)
leak-app/src/main/java/aliasadi/memoryleak/leak/SingletonActivity.java:27
↓ 1 callers
Method
start
(Context context)
leak-app/src/main/java/aliasadi/memoryleak/leak/AsyncTaskActivity.java:38
↓ 1 callers
Method
updateText
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/StaticAsyncTaskActivity.java:58
↓ 1 callers
Method
updateText
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/asynctask/BestAsyncTaskActivity.java:45
↓ 1 callers
Method
updateText
()
leak-app/src/main/java/aliasadi/memoryleak/leak/StaticAsyncTaskActivity.java:36
↓ 1 callers
Method
updateText
()
leak-app/src/main/java/aliasadi/memoryleak/leak/AsyncTaskActivity.java:43
Method
DownloadTask
(DownloadListener activity)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/StaticAsyncTaskActivity.java:70
Method
DownloadTask
(DownloadListener listener)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/asynctask/DownloadTask.java:21
Method
DownloadTask
(DownloadListener listener)
leak-app/src/main/java/aliasadi/memoryleak/leak/StaticAsyncTaskActivity.java:54
Method
SingletonManager
(Context context)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/SingletonManager.java:13
Method
SingletonManager
(Context context)
leak-app/src/main/java/aliasadi/memoryleak/leak/SingletonManager.java:13
Method
doInBackground
(Void... params)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/StaticAsyncTaskActivity.java:74
Method
doInBackground
(Void... params)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/AsyncTaskActivity.java:49
Method
doInBackground
(Void... params)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/asynctask/DownloadTask.java:25
Method
doInBackground
(Void... params)
leak-app/src/main/java/aliasadi/memoryleak/leak/StaticAsyncTaskActivity.java:58
Method
doInBackground
(Void... params)
leak-app/src/main/java/aliasadi/memoryleak/leak/AsyncTaskActivity.java:50
Method
handleMessage
(Message msg)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/HandlerActivity.java:72
Method
handleMessage
(Message msg)
leak-app/src/main/java/aliasadi/memoryleak/leak/HandlerActivity.java:27
Method
onClick
(View v)
fixed-app/src/main/java/aliasadi/memoryleak/MainActivity.java:32
Method
onClick
(View v)
leak-app/src/main/java/aliasadi/memoryleak/MainActivity.java:33
Method
onCreate
(@Nullable Bundle savedInstanceState)
fixed-app/src/main/java/aliasadi/memoryleak/MainActivity.java:20
Method
onCreate
(Bundle savedInstanceState)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/StaticAsyncTaskActivity.java:39
Method
onCreate
(Bundle savedInstanceState)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/ThreadActivity.java:24
Method
onCreate
(Bundle savedInstanceState)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/HandlerActivity.java:26
Method
onCreate
(Bundle savedInstanceState)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/SingletonActivity.java:15
Method
onCreate
NOTE : if the task done before rotate/close the activity every thing will be ok without leak.
fixed-app/src/main/java/aliasadi/memoryleak/fixed/AsyncTaskActivity.java:25
Method
onCreate
(Bundle savedInstanceState)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/asynctask/BestAsyncTaskActivity.java:23
Method
onCreate
(@Nullable Bundle savedInstanceState)
leak-app/src/main/java/aliasadi/memoryleak/MainActivity.java:21
Method
onCreate
NOTE : if the task done before rotate/close the listener every thing will be ok without leak.
leak-app/src/main/java/aliasadi/memoryleak/leak/StaticAsyncTaskActivity.java:22
Method
onCreate
We will have memory leaks when we rotate/close the activity within 20 seconds after it’s created. Since the AsyncTask is declared as non-static class
leak-app/src/main/java/aliasadi/memoryleak/leak/ThreadActivity.java:24
Method
onCreate
(Bundle savedInstanceState)
leak-app/src/main/java/aliasadi/memoryleak/leak/HandlerActivity.java:33
Method
onCreate
(Bundle savedInstanceState)
leak-app/src/main/java/aliasadi/memoryleak/leak/SingletonActivity.java:15
Method
onCreate
(Bundle savedInstanceState)
leak-app/src/main/java/aliasadi/memoryleak/leak/AsyncTaskActivity.java:29
Method
onDestroy
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/ThreadActivity.java:32
Method
onDestroy
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/HandlerActivity.java:40
Method
onDestroy
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/asynctask/BestAsyncTaskActivity.java:31
Method
onDownloadTaskDone
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/StaticAsyncTaskActivity.java:53
Method
onDownloadTaskDone
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/DownloadListener.java:7
Method
onDownloadTaskDone
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/asynctask/BestAsyncTaskActivity.java:40
Method
onDownloadTaskDone
()
leak-app/src/main/java/aliasadi/memoryleak/leak/StaticAsyncTaskActivity.java:40
Method
onPostExecute
(Void aVoid)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/StaticAsyncTaskActivity.java:80
Method
onPostExecute
Problem: we still need a reference to activity or listener to run the updateText() method what we should do? go to the next example at @StaticAsyncTas
fixed-app/src/main/java/aliasadi/memoryleak/fixed/AsyncTaskActivity.java:61
Method
onPostExecute
(Void aVoid)
fixed-app/src/main/java/aliasadi/memoryleak/fixed/asynctask/DownloadTask.java:36
Method
onPostExecute
(Void aVoid)
leak-app/src/main/java/aliasadi/memoryleak/leak/StaticAsyncTaskActivity.java:64
Method
onPostExecute
(Void aVoid)
leak-app/src/main/java/aliasadi/memoryleak/leak/AsyncTaskActivity.java:56
Method
run
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/ThreadActivity.java:51
Method
run
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/HandlerActivity.java:61
Method
run
()
leak-app/src/main/java/aliasadi/memoryleak/leak/ThreadActivity.java:41
Method
run
()
leak-app/src/main/java/aliasadi/memoryleak/leak/HandlerActivity.java:45
Method
updateText
()
fixed-app/src/main/java/aliasadi/memoryleak/fixed/AsyncTaskActivity.java:34