当我尝试重复操作时,应用程序的表现不佳

时间:2018-07-21 08:08:50

标签: android performance android-fragments memory-leaks android-bitmap

在我的应用中,我有两个意图。首先,我将图像作为图库和相机的输入。然后,我将uri发送到下一个活动。我将uri转换为位图并在位图上应用了一些效果。该活动包含两个片段。我在线程内进行过滤。应用程序首次运行良好。但是当我回到我的第一个活动并转到下一个活动时,它的执行速度就会变慢。

Runnable runnable = new Runnable() {
            @Override
            public void run() {
                imageViewFragment.applyEffect(finalEffectNO);
                Message message = new Message();
                Bundle bundle = new Bundle();
                bundle.putString(MESSAGE_KEY,"task is completed");
                message.setData(bundle);
                mHandler.sendMessage(message);
            }
        };

        thread = new Thread(runnable);
        thread.start();

请帮助我摆脱这个问题。

1 个答案:

答案 0 :(得分:1)

从提供的代码示例中我无法判断出什么问题。也许线程被多次启动但没有完成。确保仅启动一次(例如,onResume可能被多次调用)。

有很多不错的库(RxJavaKoltin Coroutines,...)可以帮助您完成异步工作,因此无需手动进行线程处理。