Activity間如何傳遞數據
通過intent傳遞數據
//intent中可以有兩個參數,表示從第一個參數(Activity)跳轉到第二個參數(Activity)
Intent intent = new Intent(a,b);
//通過鍵值對的方式存數據到intent中,
intent.putxxx(a,b);
//通過intent傳數據到另一個activity
startActivity(intent);
Activity間可以傳哪些參數,可以傳對象嗎
通過intent傳遞數據時,可以傳很多種參數,可以傳對象,要實現Serializable接口。
Activity可以回傳數據嗎
可以回傳數據,通過Activity傳遞數據時可以提供一個RequestCode,然後回傳時提供一個ResultCode,用去區分不同的傳遞數據。
第一個Activity中
//傳入intent和requestCOde,傳數據到第二個Activity
startActivityForResult(Intent intent,int RequestCode);
第二個Activity中
//傳入intent和ResultCode,回傳數據
SetResult(Intent intent,int ResultCode);
finish();
在第一個Activity中接收數據
//重寫onActivityResult()方法
//。。。在方法中接收數據並操作,可以通過requestCode和resultCode進行判斷和區分
Activity的生命週期
這個圖完美的解釋了activity的生命週期
通過handler進行數據的處理
Handler handler = new Handler();
-
延時處理
//第一個參數爲開啓一個新線程進行處理,第二個參數爲要延時的時間,單位爲毫秒 handler.postDelayed(Runnable runnable,Long m);
佈局會產生的性能問題和優化
- 減少佈局的層次,官方建議最多十層
- 刪除無用的佈局
- 佈局結構要清晰
- 選擇合適的佈局
- 重複使用某些佈局文件
- 減少試圖層級,引入佈局文件的時候忽略merge層視圖
- 需要時才加載某些佈局