小编use*_*746的帖子

这段代码可以避免 Android 处理程序内存泄漏吗?

handler1 是泄漏。

我想将handler1代码转换为handler2代码。这可以吗?

这两个代码有什么区别?

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // leaks!
        Handler handler1 = new Handler()
        {
            @Override
            public void handleMessage(Message msg) {
                super.handleMessage(msg);
                Log.e("LOG", "Hello~1");
            }
        };

        Handler handler2 = new Handler(new Handler.Callback() {
            @Override
            public boolean handleMessage(Message msg) {
                Log.e("LOG", "Hello~2");
                return false;
            }
        });

        handler1.postDelayed(new Runnable() {
            @Override
            public void run() { }
        }, 60000);
        handler2.postDelayed(new Runnable() {
            @Override
            public void run() { } …
Run Code Online (Sandbox Code Playgroud)

android memory-leaks callback handler

4
推荐指数
1
解决办法
2338
查看次数

标签 统计

android ×1

callback ×1

handler ×1

memory-leaks ×1