0

我正在将一个 java 应用程序从 windows 移植到 android。该应用程序首先从磁盘加载一个大型阵列。(将 4 兆数据放入 100 万个元素的类数组中)

在eclipse中在windows上运行或调试时,加载需要8秒。

当在 android 上从 eclipse 运行而不进行调试时,它需要 50 秒,这似乎有点慢,但如果是这样的话,那就是它。

在 android 上从 eclipse 调试时,需要 8 分钟才能加载。在 android 模拟器上,我在 40 分钟后放弃了。

我的问题是有什么方法可以告诉调试器不要调试这部分代码?

或者有什么可以在eclipse中关闭/打开的东西可以加速调试直到应用程序超过初始化?

4

2 回答 2

2

最简单的方法很可能是通过 Eclipse 中的 DDMS 透视图。

像往常一样在设备上运行您的应用程序(目前该方法需要大约 50 秒才能启动)。

一旦应用程序开始切换到 DDMS 透视图(通常在 eclipse 的右上角,如果您之前没有使用过透视图,您可能需要添加/打开透视图,只需单击添加按钮并在弹出窗口中查找 DDM) .

进入 DDMS 透视图后,您的设备及其上运行的任何进程都应显示在此透视图的设备选项卡中(默认情况下在左侧)。初始加载完成后,您可以从列表中选择您的应用程序进程,并通过单击绿色调试图标启用调试器。

如果您想稍后在同一运行中停止调试,只需切换到“调试”透视图,右键单击您的项目(在“调试”选项卡中,它的名称应类似于“项目名称 [Android 应用程序]”)并单击断开。

不幸的是,我认为没有办法以编程方式禁用调试,但是很高兴看到添加(如果还没有!)

顺便说一句,Google I/O 2009 上有一个关于在 Android 上进行调试的演讲,其中有一节介绍了方法跟踪(忍者大师的调试艺术),如果你正在寻找,它可能会帮助你找到一种加快初始加载的方法这样做。

于 2013-01-23T21:28:39.293 回答
0

您在模拟器中使用了什么样的图像?ARM 系统映像特别慢,但 Intel x8 Atom 系统映像要快得多;快 4 倍。

英特尔系统映像的问题在于它们并非适用于所有版本。

第二种可能性是为了开发和调试目的而减少数据的大小。很少有人需要完整的数据来开发和调试应用程序。

于 2013-01-23T21:25:24.743 回答