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

时间:2012-12-01 12:35:22

标签: android performance 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中。我找到了一个HorizontalListView的小部件,用它来加载我的列表。只是这使应用程序更快。但是我没有找到为什么它在ICS上速度慢的答案。

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

1 个答案:

答案 0 :(得分:2)

我的猜测是hardware accelerationdefault enabled for ice cream sandwich有关。硬件加速很好但是sometimes comes with a performance decline

Dianne Hackborn在谷歌上有另外一个关于Android硬件加速的有趣read +我建议你去看看。