簡體   English   中英

如何處理幾種方法,進行大量計算?

[英]How to handle several methods, doing heavy calculations?

在我的應用程序中,我導入gpx和kml文件以在地圖上顯示軌跡和航點。 對於此操作,我使用大約5種方法。 一切正常,除非我嘗試使用exfilechoser導入多個長gpx / kml軌道。 屏幕變黑幾秒鍾,logcat提示:跳幀(> 600)。 如何獲得UI的這些計算? 或如何使用約5種方法使用AsyncTask? 這可能嗎?

通過查看您的問題,我建議您使用具有Java normal multi threading concept handler 我不認為Asyntask是在后台執行長時間運行任務的很好的方法。

最好在服務器端進行計算,這樣可以減少移動站點的開銷。

有幾種方法。

  1. 異步執行計算。 Android SDK提供了Handler, IntentSevice, AsyncTask, HandlerThread來異步解決問題。 順便提一下,建議使用多線程解決繁重的計算。

  2. 讓服務器進行計算。 移動設備不適合計算,計算會消耗能量並影響應用程序性能。

我認為您應該使用為此目的而設計的服務 在文檔中說:

服務是可以在后台執行長時間運行的操作的應用程序組件。

您應該記住有關在服務中創建新線程的信息。

警告 :服務在其宿主進程的主線程中運行-該服務不會創建自己的線程,也不會在單獨的進程中運行(除非您另行指定)。 這意味着,如果您的服務要執行任何CPU密集型工作或阻止操作(例如MP3播放或聯網),則應在服務內創建一個新線程來執行該工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM