Android:我自己的应用程序需要“管理应用程序”下的“计算”,并且通常很慢

时间:2010-12-10 13:43:46

标签: android performance

我正在开发一款初出茅庐的应用程序,我正在通过Eclipse调试将其安装到我的Android手机上。

现在,我的应用程序目前只有200KB大小,但运行速度非常慢。我在我的第一个活动中有一个按钮,它删除了4个SQLite表,总共不超过25个记录,然后立即重新创建表和数据。在我看来,这应该是一个非常快速的操作,但它需要4或5秒钟。

在那个时刻,应用程序或手机上没有其他任何事情发生。我只是无法理解它是如何如此迟钝。我甚至在AsyncTask之上进行了操作,并没有任何区别。

此外,当我进入手机的设置 - >管理应用程序,我所有已安装应用程序的列表显示它们都是“计算......”。每个其他应用程序在我的小型计算机停止“计算...”并显示应用程序大小信息等之前3或4秒完成此操作。

所有这些只是对未通过市场安装的应用程序的症状吗?它与我的Manifest中的可调试设置有关吗?

我还没有准备好接受签名和发布,而不是长篇大论,所以我无法测试是否这就是原因。或者我可以吗?

1 个答案:

答案 0 :(得分:1)

  

我的第一个活动中有一个按钮,它删除了4个SQLite表,总共不超过25个记录,然后立即重新创建表和数据。在我看来,这应该是一个非常快速的操作,但它需要4或5秒钟。

  1. 写入闪存并不像写入磁介质那样速度一致。布拉德·菲茨帕特里克(Brad Fitzpatrick)在2010年的Google I | O大会上引用了一些测试,他将一个字节写入闪存,而通常速度很快,可能需要200毫秒。

  2. 如果您不使用事务,事情会变慢,因为每次数据库操作都有闪存写入和同步。

  3. 除此之外,很难为您提供建议,特别是没有要检查的代码。

      

    我还没有准备好接受签名和发布,而不是长篇大论,所以我无法测试是否这就是原因。或者我可以吗?

    嗯,你当然可以签名。对于发布测试,您可以将应用程序放在使用正确MIME类型(application/vnd.android.package-archive)设置的某个Web服务器上,或通过Dropbox将其发送到您的设备,或者其他内容。