2014-07-04 32 views
3

如果我在我的开发Android设备上运行顶部,我可以看到,当我的应用程序在背景中使用.6%的CPU,如果我把它带到前景它使用5-6%的CPU。问题是,它没有做任何事情。没有服务运行,没有后台线程,只是等待用户点击一个按钮。我怎样才能找出什么线程在我的Android应用程序中使用CPU

有没有办法在ADT或通过其他工具找出哪个线程正在吃的CPU,所以我可以得到一个想法从哪里开始寻找问题?

+3

运行一个分析器并查看被调用的内容。 Eclipse中包含了一个。 –

回答

7

是的,它甚至是免费的。它被称为DDMS,并且是Eclipse的ADT插件的一部分。


enter image description here


通过USB连接您的设备,开始你的应用程序,然后打开DDMS视图,你就能很快找到你的CPU密集型的线程。



请注意,这是一个很好的做法,让人类可读的名称由你的程序催生了线程。您的用户将永远不会使用这些名称,但它会使线程调试/分析更简单:

Thread.currentThread().setName("DB-Access-Thread"); 
+0

傻我,我使用DDMS,但它从来没有发生过我寻找CPU使用情况。谢谢。 – stu

相关问题