day03

本文深入探讨了Android应用中Activity的生命周期管理及设备旋转时的优化策略,包括关键方法的使用、布局适配和资源管理,旨在提升用户体验和应用稳定性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Activity生命周期
1、在实例出现在屏幕上之前,Android操作系统会调用onCreate(Bundle)方法。通常,activity通过覆盖onCreate(。。。)方法完成以下用户界面的相关工作:
a、实例化组件并将组件放置在屏幕上(调用方法setContenView(int));
b、引用已实例化的组件;
c、为组件设置监听器以处理用户交互;
d、访问外部模型数据
永远不要自己去调用onCreate()方法或任何其他Activity生命周期的方法。我们只需要在activity子类里覆盖这些方法即可,Android会适时去调用他们。

2、顺序为OnCreate()——》OnStart()——》OnResume()——》OnPause()——》OnStop()——》OnDestroy();这就是一个完整的Activity生命周期

3、旋转设备会改变设备配置。设备配置是用来描述设备当前状态的一系列特征,包括屏幕方向、密度、尺寸、键盘类型、底座模式以及语言等等。

4、修改旋转设备产生的bug:
a、在res目录下新建layout-land文件夹,复制activity_quiz.xml文件到layout-land目录下,注意:两个文件一定要保持相同名字,这样才能以同一个资源ID被引用。
b、修改后一个xml中的布局,将LinearLayout垂直布局改为FrameLayout水平布局。
c、Textview、LinearLayout和Button都需要添加一个android:layout_gravity属性,这里LinearLayout里面的Button属性保持不变。

5、注意我们在Bundle中存储和恢复的数据类型只能是基本数据类型(primitive type)以及可以实现Serializable接口的对象。创建自己的定制类时,如需在onSaveInstanceState()方法中保存类对象,记得实现Serializable接口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值