Skip to content

Commit dc2ad21

Browse files
author
OnionTiger
committed
feat: leakcanary 调整
1 parent 09357f3 commit dc2ad21

4 files changed

Lines changed: 45 additions & 49 deletions

File tree

app/build.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ dependencies {
163163
implementation(libs.coil.compose)
164164
implementation(libs.color.chooser)
165165
// performance
166-
implementation(libs.leakcanary.android)
166+
//implementation(libs.leakcanary.android)
167167
// local db
168168
implementation(libs.mmkv)
169169
//引入卡顿监控实现依赖库

app/src/main/java/com/omega/sun/ui/controller/base/BaseController.kt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ import com.bluelinelabs.conductor.Controller
77

88
abstract class BaseController(args: Bundle? = null) : Controller(args) {
99

10-
init {
11-
watchForLeaks()
12-
}
1310

1411
val fragmentActivity: FragmentActivity?
1512
get() {

app/src/main/java/com/omega/sun/ui/controller/base/BaseLifecycleController.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ abstract class BaseLifecycleController(args: Bundle? = null) : BaseController(ar
8585
}
8686

8787
init {
88-
watchForLeaks()
8988
addLifecycleListener(object : LifecycleListener() {
9089
override fun preCreateView(controller: Controller) {
9190
super.preCreateView(controller)
Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,44 @@
1-
package com.omega.sun.ui.controller.base
2-
3-
import android.view.View
4-
import com.bluelinelabs.conductor.Controller
5-
import com.bluelinelabs.conductor.ControllerChangeHandler
6-
import com.bluelinelabs.conductor.ControllerChangeType
7-
import com.omega.sun.BuildConfig
8-
import leakcanary.AppWatcher
9-
10-
private class RefWatchingControllerLifecycleListener : Controller.LifecycleListener() {
11-
12-
private var hasExited = false
13-
14-
override fun postDestroy(controller: Controller) {
15-
if (hasExited) {
16-
controller.expectWeaklyReachable()
17-
}
18-
}
19-
20-
override fun preDestroyView(controller: Controller, view: View) {
21-
AppWatcher.objectWatcher.expectWeaklyReachable(view, "A destroyed controller view should have only weak references.")
22-
}
23-
24-
override fun onChangeEnd(
25-
controller: Controller,
26-
changeHandler: ControllerChangeHandler,
27-
changeType: ControllerChangeType
28-
) {
29-
hasExited = !changeType.isEnter
30-
if (controller.isDestroyed) {
31-
controller.expectWeaklyReachable()
32-
}
33-
}
34-
35-
private fun Controller.expectWeaklyReachable() {
36-
AppWatcher.objectWatcher.expectWeaklyReachable(this, "A destroyed controller should have only weak references.")
37-
}
38-
}
39-
40-
fun Controller.watchForLeaks() {
41-
if(BuildConfig.DEBUG){
42-
addLifecycleListener(RefWatchingControllerLifecycleListener())
43-
}
44-
}
1+
//package com.omega.sun.ui.controller.base
2+
//
3+
//import android.view.View
4+
//import com.bluelinelabs.conductor.Controller
5+
//import com.bluelinelabs.conductor.ControllerChangeHandler
6+
//import com.bluelinelabs.conductor.ControllerChangeType
7+
//import com.omega.sun.BuildConfig
8+
//import leakcanary.AppWatcher
9+
//
10+
//private class RefWatchingControllerLifecycleListener : Controller.LifecycleListener() {
11+
//
12+
// private var hasExited = false
13+
//
14+
// override fun postDestroy(controller: Controller) {
15+
// if (hasExited) {
16+
// controller.expectWeaklyReachable()
17+
// }
18+
// }
19+
//
20+
// override fun preDestroyView(controller: Controller, view: View) {
21+
// AppWatcher.objectWatcher.expectWeaklyReachable(view, "A destroyed controller view should have only weak references.")
22+
// }
23+
//
24+
// override fun onChangeEnd(
25+
// controller: Controller,
26+
// changeHandler: ControllerChangeHandler,
27+
// changeType: ControllerChangeType
28+
// ) {
29+
// hasExited = !changeType.isEnter
30+
// if (controller.isDestroyed) {
31+
// controller.expectWeaklyReachable()
32+
// }
33+
// }
34+
//
35+
// private fun Controller.expectWeaklyReachable() {
36+
// AppWatcher.objectWatcher.expectWeaklyReachable(this, "A destroyed controller should have only weak references.")
37+
// }
38+
//}
39+
//
40+
//fun Controller.watchForLeaks() {
41+
// if(BuildConfig.DEBUG){
42+
// addLifecycleListener(RefWatchingControllerLifecycleListener())
43+
// }
44+
//}

0 commit comments

Comments
 (0)