我正在开发一个项目,我们正在创建一个 Android 应用程序,该应用程序请求来自服务器的数据以显示在用户的设备上(不确定我还能提供多少背景信息......如果需要更多信息,我会尽力而为)。我们支持 Gingerbread (2.3) 及更高版本(直到最新的 JellyBean 4.2)。
现在奇怪的是,该应用程序在运行 2.3.x 的手机上运行得非常快速和流畅(这些通常是稍旧的设备,例如 LG Optimus 2X),而如果我们尝试在相对较新的设备上运行该应用程序( Galaxy s3 等)具有 JellyBean 4.1+,应用程序运行速度太慢以至于性能成为可用性问题。这发生在从服务器提取数据并显示它们的屏幕上。
我还通过在模拟器上运行它来确认这种行为。
所以我做了一些研究,因为我们在 LogCat 中只获得了 4.1+ 的以下内容:
06-29 23:11:17.796:I/Choreographer(691):跳过 X 帧!应用程序可能在其主线程上做了太多工作。
所以看起来这个叫做 Choreographer 的东西是为 API lvl 16 添加的,它协调动画、输入和绘图的时间。
我想知道这是否导致了这个问题?似乎不太可能是硬件问题,我们的应用程序没有任何动画,并且我们没有针对 2.3.x 和 4.1+ 的单独实现
谢谢