2010-08-23 110 views
4

我想对我的android应用程序进行优化。Android应用程序的优化

任何人都可以请告诉有什么不同的方式来优化代码和Android的性能?

我经历了一个工具,即Zipalign: an Easy Optimization

其他工具是否可用?

谢谢。

+0

使用的Android NDK的未来游客哪里有可能。 – Pentium10 2010-08-23 07:10:59

+3

使用C++编写可怕的代码和使用Java编写代码一样简单。 – EboMike 2010-08-23 07:19:29

+0

写你的代码,分析它,确定你的瓶颈,然后优化 – Falmarri 2010-08-23 07:24:29

回答

5

有没有简单的工具,只是神奇地让你的应用程序更快(zipalign只是改善加载时间)。你需要学习如何编写高性能代码。 SDK有一些有用的提示:如果你有一些CPU密集型重负载,你可以用NDK重写它。

请记住,优化代码需要时间并可能引入错误。一定要分析你的代码,找到瓶颈,并专注于让这些速度变得更快。

+0

感谢您的建议。我将通过我提供的代码和链接。 – 2010-08-23 08:00:17

+1

在大多数情况下,您可以在没有NDK的情况下执行 - 可以使用Java编写快速且安全的代码 - 只需通过我发送的链接即可。最重要的是,避免分配,并将缓慢的计算放入工作线程中。只有你有一些非常复杂的计算,你可以考虑NDK。 – EboMike 2010-08-23 08:16:46

+0

谢谢EboMike。我正在引用您指定的链接。而我的应用程序非常简单,并没有太多的计算。 – 2010-08-23 08:22:54

3

最佳实践通常比较明显。您的应用程序很可能会有特定的独特瓶颈。当您的手机在应用程序运行时检查(设置过滤器)时检查android日志。检查操作系统何时调用垃圾收集器以及删除多少信息。

如果你正在加载任何文件到内存中请注意,Android的地方(至少以前)对文件最大大小的限制(4mb)可以加载到内存中。

你使用什么类型的传感器,如果有的话......如果是这样,以及是否有更好的方式可以使用上述传感器。

您是否在应用程序生命周期步骤中存储了很多/很少的状态。

+0

你好史蒂夫,我不知道如何把过滤器检查日志,而应用程序运行。而在我目前的应用程序中,我没有使用任何传感器。也不存储任何应用程序状态。 – 2010-08-23 08:13:03

+0

对不起,过滤器是特定的日食。你有没有尝试过使用调试器?我假设你正在使用日食:)(对不起,如果你没有!...检查ddms - http://developer.android.com/guide/developing/tools/ddms.html – Steve 2010-08-23 08:16:47

+0

雅我只使用eclipse,并尝试使用调试器,但在调试器中不太了解它是如何工作的 – 2010-08-23 08:20:36

2

不要忘记删除市场版本中的所有日志。记录成本很高,市场只会返回异常情况。记录大多是不必要的,只应在开发中使用...