Android之ComponentCallbacks2

 

關於ComponentCallback2

  • 是一個細粒度的內存回收管理回調。
  • Application、Activity、Service、ContentProvider、Fragment實現了ComponentCallback2接口
  • 開發者應該實現onTrimMemory(int)方法,細粒度release 內存,參數可以體現不同程度的內存可用情況
  • 響應onTrimMemory回調:開發者的app會直接受益,有利於用戶體驗,系統更有可能讓app存活的更持久。
  • 不響應onTrimMemory回調:系統更有可能kill 進程

onTrimMemory參數的意義

  • 當開發者的app正在運行

  • 1)Trim_memory_running_moderate:設備開始運行緩慢,當前app正在運行,不會被kill
    2)Trim_memory_running_low:設備運行更緩慢了,當前app正在運行,不會被kill。但是請回收unused資源,以便提升系統的性能。
    3)Trim_memory_running_critical:設備運行特別慢,當前app還不會被殺死,但是如果此app沒有釋放資源,系統將會kill後臺進程
     

  • 當開發者的app's visibility 改變

  1. Trim_memory_ui_hidden:當前app UI不再可見,這是一個回收大個資源的好時機,

 

  • 當開發者的應用進程被置於background LRU list

  1. trim_memory_background:系統運行慢,並且進程位於LRU list的上端。儘管app不處於高風險被kill。當前app應該釋放那些容易恢復的資源
  2. trim_memory_moderate:系統運行緩慢,當前進程已經位於LRU list的中部,如果系統進一步變慢,便會有被kill的可能
  3. trim_memory_complete:系統運行慢,當前進程是第一批將被系統kill的進程。此app應該釋放一切可以釋放的資源。低於api 14的,用戶可以使用onLowMemory回調。

 

 

--------------------- 
作者:time_hunter 
來源:CSDN 
原文:https://blog.csdn.net/time_hunter/article/details/53107191 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章