面試之 ANR 是什麼?怎樣避免和解決

2021-07-27 07:39:44 字數 352 閱讀 3029

anr--->android  not response -->應用程式無響應

原因:1.按鍵或觸控事件在特定時間內無響應(5s)

2.broadcastreceiver在特定時間內無法處理完成(10s)

3.service在特定的時間內無法處理完(20s)

怎麼避免:

1.避免在activity裡面做耗時操作

2.避免在intent receiver裡啟動乙個activity,因為它會建立乙個新的畫面,並從當前使用者正在執行的程式上搶奪焦點

3.耗時操作(資料庫操作,i/o操作,網路操作等)在work thread中執行,利用handler處理ui執行緒與work thread的資料互動

ANR是什麼?怎樣避免和解決ANR

anr是什麼?怎樣避免和解決anr 並不希望每次都要處理這個對話方塊。因此,在程式裡對響應效能的設計很重要,這樣,系統不會顯示anr給使用者。activity 5秒 broadcast10秒耗時的操作 worker thread 裡面完成,handler message asyntask inten...

什麼是死鎖?其條件是什麼?怎樣避免死鎖?

死鎖的概念 在兩個或多個併發程序中,如果每個程序持有某種資源而又都等待別的程序釋放它或它們現在保持著的資源,在未改變這種狀態之前都不能向前推進,稱這一組程序產生了死鎖 通俗地講,就是兩個或多個程序被無限期地阻塞 相互等待的一種狀態 死鎖產生的原因主要是 1.系統資源不足 2.程序推進順序非法 產生死...

什麼是死鎖?其條件是什麼?怎樣避免死鎖?

死鎖的概念 在兩個或多個併發程序中,如果每個程序持有某種資源而又都等待別的程序釋放它或它們現在保持著的資源,在未改變這種狀態之前都不能向前推進,稱這一組程序產生了死鎖 通俗地講,就是兩個或多個程序被無限期地阻塞 相互等待的一種狀態 死鎖產生的原因主要是 1.系統資源不足 2.程序推進順序非法 產生死...