国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

activity 臨時數據保存和恢復

2019-11-09 16:31:52
字體:
來源:轉載
供稿:網友

在使用app的過程中有可能會發(fā)生突發(fā)情況,殺死我們的APP?

    突發(fā)情況有哪些呢?比如屏幕旋轉,按Home鍵,recreate(),鎖屏,手機內存不夠APP被Kill等,那么有這些情況我們數據還沒來的幾保存應該怎么做呢?Google已經有了辦法了,那就是覆蓋onSaveInstanceState()方法來接受一個Bundle類型的參數,我們可以將該activity的信息和狀態(tài)數據存入此Bundle中。這樣,即使該activity在后臺被系統(tǒng)摧毀,然后重新回到前臺的時候,在調用onCreate()方法時,該Bundle對象會傳入onCreate方法的參數中。開發(fā)者可以在onCreate中取出自己保存的數據。

比如我有一個recreate 的頁面,需要保存一個臨時變量isSelected來判斷用戶是否點擊了頁面.實現如下:

@OverridePRotected void onSaveInstanceState(Bundle outState) {    super.onSaveInstanceState(outState);    outState.putBoolean("isSelected", isSelected);}那么如何恢復保存的數據呢?onCreate()方法的函數中有一個Bundle saveInstanceState 的參數,沒錯數據就是存儲在這里的
protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    if (savedInstanceState != null) {        isSelected = savedInstanceState.getBoolean("isSelected");    }

在哪里調用saveInstanceState,大家可以在activity的各生命周期打印一下,很簡單的.


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁化县| 宜州市| 普陀区| 青川县| 烟台市| 武城县| 交口县| 兰西县| 赫章县| 全南县| 仁寿县| 沙湾县| 齐河县| 南澳县| 堆龙德庆县| 茌平县| 东源县| 山阳县| 永新县| 钦州市| 昌图县| 方正县| 长治县| 马山县| 全椒县| 延庆县| 庆云县| 达孜县| 卢氏县| 杂多县| 莒南县| 罗城| 大埔县| 霞浦县| 江口县| 理塘县| 古蔺县| 武鸣县| 庆云县| 日喀则市| 贵州省|