【发布时间】:2012-12-11 12:59:12
【问题描述】:
我似乎有一个无法解决的问题,我花了一个周末来解决它,无法解决它。 当我制作一个包含两个活动的简单测试应用程序时: 1. Mainactivity:几个按钮、一个计时器(后台线程)和一个对 SQLite 数据库的轻请求。 2. 第二个活动:几个按钮,只有一个有一个点击监听器,当你点击它时,你只需回到第一个活动。 我使用大按钮(屏幕宽度约为屏幕高度的四分之一),xml 布局资源不包含任何嵌套的权重元素或其他奇异的东西。
这是一个测试项目,没有其他功能。
我遇到了以下严重问题: - 当我将清单文件中的 api 级别设置为 3 时,一切正常。 (在兼容模式下自动屏幕) - 当我将 api 级别设置为 11 或更高时,加载第二个活动最多可能需要 10 秒。 第一次打开第二个activity后,东西好像被缓存了,延迟不复存在了。 -当我将api级别设置为11或更高时,我强制(屏幕分辨率)兼容模式:没有变化,延迟仍然存在。
我已经构建了这个测试项目,因为我在升级旧应用时遇到了这个问题。它在较旧的 api 级别上运行顺利,每当我将它放到 Android 版本 3 或更高版本时,它都会延迟长达 25 秒! (即使是打开一个只显示静态文本的活动......)。
我正在新的 Galaxy Tab 上进行测试,这不是问题。我花了几个小时在谷歌上搜索解决方案,但从未找到任何接近它的东西。我什至完全卸载了 Eclipse 和所有 android 资源,并重新安装和更新了所有内容(包括我的 Galaxy Tab 的出厂重置)。没运气。
我做了一个跟踪,问题出在 GLES20Canvas.nDrawDisplayList 中。构建这个列表似乎需要很多时间,即使构建的内容不多……
有人知道我该如何解决这个问题吗?
谢谢, 马丁
【问题讨论】:
标签: android performance