我正在开发一个专门为平板电脑设计的应用程序(特别是在摩托罗拉Xoom和三星Galaxy Tab10.1上测试得很好)。使用的操作系统为HoneyComb。
最近,在将操作系统更新到官方Icecream三明治4.0.3之后,我发现应用程序一点都不好。它的性能滞后,经常出现ANR (应用程序不响应)对话框。
虽然我理解ANR与在UI线程中执行更多工作相关,但我需要知道这个新的android版本4.0.3是否对后台运行的线程数量实施了更严格的限制?或者杀死他们,因为存在启动它的活动?
应用程序独占地使用线程从列表视图中的服务器加载图像。在屏幕之间切换使每个单独的图像持有者启动一个新的线程来加载它。在Honeycomb上重新测试它可以很好地工作,但不能在4.0.3上工作,为什么?
问题是,icecream三明治4.0.3是否在操作系统级别对线程的处理或开发人员的活动生命周期进行了更改?
发布于 2012-02-08 14:00:48
ICS中的活动生命周期没有重大变化。
活动生命周期可在以下位置找到:
http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
您不应该在UI线程上执行繁重的工作。在Developer options下的ICS的Settings活动中,您可以启用Strict mode和一些其他选项,这些选项将帮助您查看程序中的性能问题,例如CPU使用率。
https://stackoverflow.com/questions/9188470
复制相似问题