Handler.dispatchMessage占用了traceview中的大部分应用程序时间

时间:2013-09-09 21:49:31

标签: android eclipse

我正在使用eclipse开发一个Android应用程序。应用程序是字典,数据库位于SQL azure(在线),我使用RESTful来连接它。我正在使用traceview使其表现更好。我发现Handler.dispatchMessage占用了86%的时间。 当我在配置文件面板中单击Handler.dispatchMessage时,它显示Handler.dispatchMessage发生的位置,它发生超过100次。你能告诉我,如果它太多或太多,如果它太多我怎么能解决它。 感谢。

1 个答案:

答案 0 :(得分:4)

Handler.dispatchMessage()几乎可以控制Android中发生的一切。 Android线程具有关联的Handler,MessageQueue和Looper。对于要发生的事情,系统会在队列上放置一条消息,该消息将传递给在线程上运行的处理程序。作为回应,线程上的代码做了一些事情。任何Android组件执行某些操作时,都会响应dispatchMessage()。

我会看更高的级别。你的HTTP连接需要多长时间?从数据库请求获取响应需要多长时间。数据库操作需要时间,网络操作甚至需要更多时间。如果这段时间让你的应用看起来“慢”,你应该在主线程上做更多的工作。