day02

作业2

为 Activity 设置2种不同的启动模式并通过 adb 命令进行查看任务栈信息,并且打印生命周期方法执行日志

step1:生成第二个Activity和相应配置、

一个是singleTask模式,还一个是mainActivity的默认格式

step2:打印生命周期

在摁下按钮,启动第2个前,mainactivity处于正在运行状态。按下按钮后,画面切换,但是main没有退出,所以处于pause,让出了资源和内存。同时,第二个activity创建 启动

Step3:adb查看任务栈

adb命令:

adb shell dumpsys activity activities

作业5

掌握Fragment生命周期的执行过程

在MainActivity、Demorragment和DemoFragment2生命周期各方法中添加日志

step2:分析启动并添加Demofragment时的生命周期日志

在activityB界面调用fragment2

由于activity的优先级高于fragment,所以先是activity启动,再是fragment启动。

step3:分析按下Home键后的生命周期日志

home键后,所有组件都进入后台,但是未销毁,所以处于stop状态。

且是fragement2先pause和stop,再轮到activityB。

step4:分析使用add与replace显示Demofragment2时生命周期日志差异

add是把另一个fragment一起添加进来,而replace会把之前的fragment都销毁,再添加进另一个fragment。所以在新的fragment进来前,

add:前一个fragment处于stop状态

replace:前一个fragment会被销毁。

step5:分析按下返回键后的生命周期日志

在退出时,由于replace会把之前的fragment和activity都销毁,所以除非使用了回退栈,否则会直接退出

课后作业:

搭建App首页,一个Activity有多个Fragment,点击底部Tab切换Fragment,rragment只显示一个文本即可,点击按钮跳转到另一个Fragment
使用viewPager实现Fragment左右滑动

bug1:

用andoridx报错

andoridx头文件是studio在创建fragment的时候,自动生成,可能需要一些其他的配置。

换成初始布局linearlayout即可

bug2:

在按下fragment的跳转按钮时,没有响应,不能跳转另一个fragment。检查几遍,按钮名字都是正确的

原因:在项目的一个activity组件里有一个同名

bug3:

绑定 TabLayout 和 ViewPager后,点击Fragment2,没有按钮这些显示

原因:没有添加垂直显示,真正的Fragment可能在可显示的界面外!!!!

bugN:

。。。。。太多了,多到记不住

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值