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层视图
- 需要时才加载某些布局