我不清楚什么时候最好使用WeakReference以避免 android 中的内存泄漏。示例:
片段中的代码:
containerView.setDataForDisplay(customer, new CustomListener() {
@Override
public void buttonClicked(@NonNull Customer customer) {
if(handler != null) {
handler.buttonClickedForCustomer(customer);
}
}
});
自定义里面的代码 LinearLayout
public void setDataForDisplay(List<Customer> customer, CustomListener listener) {
// view setup code
someView.setOnClickListener( v -> {
if(listener != null) {
listener.buttonClicked(v.getTag());
}
});
}
匿名类CustomListener具有对包含片段的this.
该匿名类作为侦听器传递给包含视图,该视图最终会执行回调。
我的问题是这会导致内存泄漏吗?
应该listener以某种方式保持在 a 中WeakReference吗?我们如何决定何时可以使用强引用还是弱引用?
凤凰求蛊
jeck猫
相关分类