2012-03-27 103 views
1

我已经编写了一个应用程序,它可以通过后台服务与服务器通信,以发送请求并获取响应。如果我执行一些操作(例如发送请求并获得响应)大约20-30次,我的应用程序变得非常慢,我可以通过按任何按钮来观察它 - 响应变得非常缓慢。提高android应用程序性能

如果连续执行相同的操作,一段时间后,一个弹出消息显示说:“该应用程序的对不起活动没有响应”。

我该如何解决这个问题?这看起来像我的应用程序消耗更多的内存,所以我该如何解决它,或者是否有任何可用Eclipse插件的工具,并将显示应用程序的内存消耗报告,并建议泄漏区域。

+0

检查此链接的一些性能改进提示https://medium.com/@hammad_tariq/android-application-performance-improvement-tips-c4ec4d045d6d#.ejs55stwu – 2017-01-26 15:35:16

回答

4

1.For内存问题:Eclipse h内存跟踪AVE强大的工具:Memory Analyzer tool 请到提示的使用指南以下引用:(参考文献1,2)

2.对于ANR问题:为了避免ANR对话框,你可以把网络服务的落实

  1. What Android tools and methods work best to find memory/resource leaks?

  2. :在工作线程或Asyntask

    参考背景实施0

  3. How do I discover memory usage of my application in Android?

+1

感谢您提示我使用MAT工具,在这个工具,我发现我的应用程序中的内存泄漏,并成功解决它。 – piks 2012-03-28 10:43:06

2

您需要记住,这是移动应用程序。连接并不总是可用,并且速度不稳定。尝试:

  • 设置超时的请求
  • 使用AsyncTasks防止“等待”消息
  • 降低请求数量
  • 座按钮的同时工作,以防止重复请求
  • 如果检查一切没有循环操作
0

看起来你没有使用线程吧...

使用的服务并不总是意味着您的应用程序在后台运行,并在UI线程仍然响应。 ..

在一个线程中把一切都这样你的用户界面将继续响应,并使用一个处理器可以与UI线程交互!