我有一个Android游戏,其中包含一个屏幕,列出所有正在进行的游戏,简短描述,对手名称和个人资料图片等。与Zynga的With Friends游戏非常相似。但是,当你有数十个正在进行的游戏时,我总是会在呈现游戏列表方面遇到巨大的性能问题。
由于加载时间可能是5秒以上,我认为是时候进行一些分析并找出瓶颈。事实证明,大约70%的时间用于充气和初始化布局元素(已尽量减少为尽可能平坦和轻盈),所以即使我可以优化其余代码即时发生,加载用户体验的观点来看,时间仍然是不可接受的。
由于附加的UI元素(例如按钮等不遵循与游戏相同的模板),简单的ListView将无法工作。在iOS上,类似的结构几乎立即呈现,即使在3GS上也是如此,所以我期望至少类似的速度来自同样功能强大的Android设备。我有什么选择来减少布局膨胀和初始化所用的时间?
(A Words With Friends截图供参考,如果您不知道它的样子)
答案 0 :(得分:3)
您应该查看关于ListView
的{{3}}。它教导了如何以良好的方式实现它,尽可能地减少分配。您可能感兴趣的内容从第9分钟开始。
convetView
函数getView
ViewHolder
来提高访问速度另外,您应该尝试管理图像加载,以确保该部分暂时不会阻止渲染。
有一个很好的工具可以分析您的应用程序,了解代码中的滞后功能:this conference