2

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

4

1 回答 1

4

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

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

于 2013-09-09T23:39:32.980 回答