首页 > 解决方案 > Android Studio 调试器中的 for 循环非常慢,没有它就快

问题描述

我正在 Android Studio 中初始化一个 30 MB 的数组。

byte[] myarray = new byte[30 * 1024 * 1024];
for (int i = 0; i < myarray.length; i++) {
    myarray[i] = 0;
}

围绕这一点,我使用 SystemClock 进行了时间测量,计算循环需要多少毫秒。

如果应用程序从 Android Studio 启动,则需要 2.5 分钟。当然不涉及断点。
如果应用程序在没有 Android Studio 的情况下直接启动,则为 0.5 秒。

当我在这个数组上调用其他操作(例如 System.arraycopy)时,我看不到如此巨大的差异。我知道调试与否之间存在差异,但这是 300 倍。

这里发生了什么,如何修改它以便有效地调试我的应用程序?

标签: androidperformanceloops

解决方案


推荐阅读