android中异步回调会持有对象的引用吗
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val contentView = FrameLayout(this)
setContentView(contentView)
showText(contentView)
}
fun showText(viewGroup: ViewGroup) {
//1.局部变量textView
val textView = TextView(this)
MyThread{
//5.5000s后设置文字,此处textView已经被释放了吗
textView.text = it
}.start()
//2.添加到页面
viewGroup.addView(textView)
//3.2000s后移除
Thread.sleep(2000)
viewGroup.removeView(textView)
//4.方法执行完,此时会释放textView吗
}
class MyThread(var callback :((String)->Unit)): Thread(){
override fun run() {
sleep(5000)
callback.invoke("回调了")
}
}