Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
由于垃圾收集,Android处理程序调用的NON比所需的少。_Android_Optimization - Fatal编程技术网

由于垃圾收集,Android处理程序调用的NON比所需的少。

由于垃圾收集,Android处理程序调用的NON比所需的少。,android,optimization,Android,Optimization,我在我的android应用程序中使用的库不是为android设计的——它通过创建大量的小型本地对象来使用大量内存。由于内存使用达到16MB的峰值限制,因此经常触发垃圾收集。我会很好,但是经常运行gc会导致 我的刷新处理程序没有以期望的延迟执行(该方法执行的频率比它应该执行的要低) 导致垃圾收集的东西正在自己的线程中运行。 他们是否有办法在不更改库或it代码的情况下提高处理程序执行的规律性 android中的垃圾收集器是一个停止世界垃圾收集器,因此只要库和处理程序在同一个VM中,就没有什么可以做的

我在我的android应用程序中使用的库不是为android设计的——它通过创建大量的小型本地对象来使用大量内存。由于内存使用达到16MB的峰值限制,因此经常触发垃圾收集。我会很好,但是经常运行gc会导致 我的刷新处理程序没有以期望的延迟执行(该方法执行的频率比它应该执行的要低)

导致垃圾收集的东西正在自己的线程中运行。
他们是否有办法在不更改库或it代码的情况下提高处理程序执行的规律性

android中的垃圾收集器是一个停止世界垃圾收集器,因此只要库和处理程序在同一个VM中,就没有什么可以做的了。也许你可以在另一个应用程序中运行该处理程序,从而将其与许多地面军事系统(并使用广播与其他系统进行交互)所在的虚拟机分离

class RefreshHandler extends Handler {
    @Override
    public void handleMessage(Message msg) {
        SomeActivity.this.updateView();
    }

    public void sleep(long delayMillis) {
        this.removeMessages(0);
        sendMessageDelayed(obtainMessage(0), delayMillis);
    }
};