我的应用程序在Android 4.0上明显变慢了

Dou*_*ves 9 performance android android-4.0-ice-cream-sandwich

我在Android 3.2上开发并测试了一个应用程序,它与SQLite数据库交互并在屏幕上显示结果.我没有动画或任何花哨的东西.我所拥有的是很多ListViews向用户显示数据.

该应用程序的数据库非常大,有些表的行数超过300k.我们尝试在与数据库的每次交互中使用AsyncTask,但我们仍然需要一些点来优化性能.

问题是该公司将部分平板电脑更新为冰淇淋三明治,该应用程序比Honeycomb慢得多.我在两个设备中加载了相同的代码,使用相同的db,一个运行ICS,另一个运行Honeycomb.该应用程序在3.2设备中表现更好.我也试过使用,<uses-sdk android:minSdkVersion="14" />但它没有做得更好.

有什么办法可以优化4.0的性能吗?我也很想知道为什么会发生这种情况,以及是否有任何可能导致这种情况发生的事情(某些组件或类在4.0上运行不正常).

谢谢!

更新:我找到了我的应用程序主屏幕的解决方案.我正在呈现一个作为水平列表的片段,它是一个HorizontalScrollView加载了大量数据并创建了很多LinearLayout要在ScrollView 中呈现的片段.我找到了一个Horizo​​ntalListView的小部件,并用它来加载我的列表.只是这使应用程序更快.但是我没有找到为什么它在ICS上速度慢的答案.

我也试过分析应用程序,但这是一件非常困难的事情,有很多信息.我可能会在接下来的几周内继续这样做以加速应用程序.感谢您的所有答案和评论!

War*_*zit 2

我的猜测是这与冰淇淋三明治默认启用的硬件加速有关。硬件加速固然很好,但有时会带来性能下降

Dianne Hackborn 在 google+ 上写了另一本关于 Android 硬件加速的有趣读物,我推荐您看一下。