├── .gitignore ├── LICENSE ├── README.md ├── app ├── .gitignore ├── build.gradle ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── com │ │ └── franktan │ │ └── memoryleakexamples │ │ └── ExampleInstrumentedTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── java │ │ └── com │ │ │ └── franktan │ │ │ └── memoryleakexamples │ │ │ ├── LeakActivityOrNot.java │ │ │ ├── MainActivity.java │ │ │ ├── MemoryLeakApplication.java │ │ │ ├── vialongrunningtask │ │ │ ├── LeakActivityToAsyncTaskActivity.java │ │ │ ├── LeakActivityToHandlerActivity.java │ │ │ ├── LeakActivityToThreadActivity.java │ │ │ └── LeakThreadsActivity.java │ │ │ └── viastaticreference │ │ │ ├── LeakActivityToSingletonActivity.java │ │ │ ├── LeakActivityToStaticInnerClassActivity.java │ │ │ ├── LeakActivityToStaticVariableActivity.java │ │ │ ├── LeakActivityToStaticViewActivity.java │ │ │ └── SomeSingletonManager.java │ └── res │ │ ├── drawable-hdpi │ │ └── ic_devil1.png │ │ ├── drawable-mdpi │ │ └── ic_devil1.png │ │ ├── drawable-xhdpi │ │ └── ic_devil1.png │ │ ├── drawable-xxhdpi │ │ └── ic_devil1.png │ │ ├── drawable-xxxhdpi │ │ └── ic_devil1.png │ │ ├── drawable │ │ ├── devil2.png │ │ ├── devil3.png │ │ ├── devil_background.jpg │ │ └── thinking.png │ │ ├── layout │ │ ├── activity_leak_context_to_singleton.xml │ │ ├── activity_leak_context_to_static_variable.xml │ │ ├── activity_leak_static_reference_to_inner_class.xml │ │ ├── activity_leak_thread.xml │ │ ├── activity_leak_to_async_task.xml │ │ ├── activity_leak_to_handler.xml │ │ ├── activity_leak_to_runnable.xml │ │ └── activity_main.xml │ │ ├── mipmap-hdpi │ │ └── ic_launcher.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ └── values │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── strings.xml │ │ └── styles.xml │ └── test │ └── java │ └── com │ └── franktan │ └── memoryleakexamples │ └── ExampleUnitTest.java ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshots ├── fixed.png ├── launcher.png └── leak.png └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/README.md -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/build.gradle -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/proguard-rules.pro -------------------------------------------------------------------------------- /app/src/androidTest/java/com/franktan/memoryleakexamples/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/androidTest/java/com/franktan/memoryleakexamples/ExampleInstrumentedTest.java -------------------------------------------------------------------------------- /app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/AndroidManifest.xml -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/LeakActivityOrNot.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/LeakActivityOrNot.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/MainActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/MainActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/MemoryLeakApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/MemoryLeakApplication.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/vialongrunningtask/LeakActivityToAsyncTaskActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/vialongrunningtask/LeakActivityToAsyncTaskActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/vialongrunningtask/LeakActivityToHandlerActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/vialongrunningtask/LeakActivityToHandlerActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/vialongrunningtask/LeakActivityToThreadActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/vialongrunningtask/LeakActivityToThreadActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/vialongrunningtask/LeakThreadsActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/vialongrunningtask/LeakThreadsActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/LeakActivityToSingletonActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/LeakActivityToSingletonActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/LeakActivityToStaticInnerClassActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/LeakActivityToStaticInnerClassActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/LeakActivityToStaticVariableActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/LeakActivityToStaticVariableActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/LeakActivityToStaticViewActivity.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/LeakActivityToStaticViewActivity.java -------------------------------------------------------------------------------- /app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/SomeSingletonManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/java/com/franktan/memoryleakexamples/viastaticreference/SomeSingletonManager.java -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_devil1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/drawable-hdpi/ic_devil1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_devil1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/drawable-mdpi/ic_devil1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_devil1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/drawable-xhdpi/ic_devil1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_devil1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/drawable-xxhdpi/ic_devil1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_devil1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/drawable-xxxhdpi/ic_devil1.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/devil2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/drawable/devil2.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/devil3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/drawable/devil3.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/devil_background.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/drawable/devil_background.jpg -------------------------------------------------------------------------------- /app/src/main/res/drawable/thinking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/drawable/thinking.png -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_leak_context_to_singleton.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/layout/activity_leak_context_to_singleton.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_leak_context_to_static_variable.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/layout/activity_leak_context_to_static_variable.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_leak_static_reference_to_inner_class.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/layout/activity_leak_static_reference_to_inner_class.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_leak_thread.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/layout/activity_leak_thread.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_leak_to_async_task.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/layout/activity_leak_to_async_task.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_leak_to_handler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/layout/activity_leak_to_handler.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_leak_to_runnable.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/layout/activity_leak_to_runnable.xml -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/layout/activity_main.xml -------------------------------------------------------------------------------- /app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/values-w820dp/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/values-w820dp/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/values/colors.xml -------------------------------------------------------------------------------- /app/src/main/res/values/dimens.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/values/dimens.xml -------------------------------------------------------------------------------- /app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/values/strings.xml -------------------------------------------------------------------------------- /app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/main/res/values/styles.xml -------------------------------------------------------------------------------- /app/src/test/java/com/franktan/memoryleakexamples/ExampleUnitTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/app/src/test/java/com/franktan/memoryleakexamples/ExampleUnitTest.java -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/gradle.properties -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/gradlew -------------------------------------------------------------------------------- /gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/gradlew.bat -------------------------------------------------------------------------------- /screenshots/fixed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/screenshots/fixed.png -------------------------------------------------------------------------------- /screenshots/launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/screenshots/launcher.png -------------------------------------------------------------------------------- /screenshots/leak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/frank-tan/SinsOfMemoryLeaks/HEAD/screenshots/leak.png -------------------------------------------------------------------------------- /settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | --------------------------------------------------------------------------------