我想弄清楚我的應用程序的策略,我需要執行不同的網絡操作。我的問題是,調用ConnectivityManager.getActiveNetworkInfo()
是否被認爲是一個長期運行和耗盡電量的操作,以及是否經常打電話是否正確,還是應該通過應用另一種策略來優化應用程序的性能?提前致謝。ConnectivityManager.getActiveNetworkInfo()是否需要經常調用?
回答
到目前爲止,我已經在三個應用程序中使用了ConnectivityManager.getActiveNetworkInfo()。您可以使用checkNetwork()方法並調用它,以確保每次用戶啓動需要網絡的某些內容時都處於正確的狀態,以便他或她可以糾正這種情況。除此之外,您的錯誤處理可能會將sleep()調用與網絡檢查和連接管理結合起來。這意味着使用大約30兆的權限。但這將是一個合理的方式來做到這一點。
感謝您的回答。實際上,我想過使用BroadcastReceiver實現這個功能,捕獲與連接有關的廣播消息並將狀態存儲在變量中,然後在需要時進行檢查。這有點牽扯,因爲我的應用程序由多個活動組成,我需要知道何時註冊和取消註冊BroadcastReceiver。這就是爲什麼我想知道我描述的方法是否可以根據需要經常調用。 – Egor 2013-04-04 21:14:01
你的想法可能比我的想法更好。如果你的網絡需要用戶觸發,就像點擊一個按鈕時上傳文件一樣,我的工作就沒關係。如果你的使用更重,我認爲你有更好的主意。 – 2013-04-04 22:35:05
- 1. 是否需要調用session_write_close?
- 2. 是否需要調用AsyncOperation.PostOperationCompleted?
- 3. 是否需要調用?
- 4. 是否需要調用CloseHandle?
- 5. 我是否需要調用MessageBox調用?
- 6. (何時)是否需要調用SHA1Managed.Initialize()?
- 7. 是否需要從UserData調用cfn-init?
- 8. 調用entityManager.find()是否需要EntityTransaction?
- 9. AS3:是否需要調用BitmapData.dispose()?
- 10. 是否需要調用命令
- 11. JUnit測試 - 是否需要調用JUnitCore.main()?
- 12. HttpURLConnection:是否需要調用connect()?
- 13. DynamoDB - 是否需要調用shutdown()?
- 14. 我是否需要調用EasyTracker.getInstance(this);每次我需要easyTracker?
- 15. 是經/緯真的需要
- 16. 我是否曾經需要在Grails中顯式刷新GORM保存調用?
- 17. Laravel調度 - 是否需要域名
- 18. 是否需要調用std構造函數的調用?
- 19. 是否需要使用imap_close?
- 20. 是否需要使用Clonable?
- 21. 需要經常表達這種(C#)
- 22. 需要經常表達 - perl的
- 23. 需要紅寶石經常exp匹配
- 24. 表格經常需要pgAdmin中的VACUUM
- 25. Yepnope回調和完整的功能不需要經常運行
- 26. 調用IntentService.startService()經常
- 27. 是否需要LDT?
- 28. 是否需要AudioServicesDisposeSystemSoundID?
- 29. 是否需要my_require_once?
- 30. 是否需要user_photos?
嘿,你是否收到一個答案,如果它是昂貴的電話或不?如果是的話,多昂貴w.r.t.使用廣播接收器緩存結果? – q126y 2017-09-05 14:58:22