2012-03-27 152 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線程交互!