標籤:android io sp on 問題 bs 時間 as 應用
============問題描述============
最近在做一個應用,即時檢測網路訊號,日誌是系統自動抓取,一個服務檢測日誌達到一定條件,開始壓縮歸檔,我用asynctask去檢測網路訊號,將訊號值通過progress更新到前台,應用啟動後,開啟一個服務去檢測日誌情況。現在的問題是日誌達到條件開始一壓縮時,會阻塞前台訊號更新,一個是服務,一個是背景工作,照說不會阻塞主線程,難道只能有一個進程給手機發訊息嗎?希望大家多指教~-~
============解決方案1============
aidl唄,挺好用,,,
============解決方案2============
雖說asynctask是背景工作,但是也不適合做耗時間長度的任務
============解決方案3============
官方文檔給的說明是,asynctask並不構建一個通用線程架構,而且不能執行耗時操作,最多執行數秒的時間。說明asynctask和一個普通的線程是不一樣的。
============解決方案4============
引用 4 樓 jeky198306 的回複:
多謝指導,請問這個有好的方式處理嗎?搞了aidl要安裝兩個應用,使用者體驗不好
Quote: 引用 3 樓 lionfresh 的回複:
官方文檔給的說明是,asynctask並不構建一個通用線程架構,而且不能執行耗時操作,最多執行數秒的時間。說明asynctask和一個普通的線程是不一樣的。
你也可以在另一個服務中檢測網路訊號,通過廣播來通知UI線程更新介面。
============解決方案5============
service運行在主線程中,service會阻塞 ui, asyTask 的doInBackground 是另開線程的。
============解決方案6============
積分怎麼得??????????????
請教關於android背景工作和服務的問題