1、Android Intent之传递带有对象的集合(Serializable传递对象和对象集合)
2、五大布局各自优点:
- Android常用布局极其优缺点_yxb_yingu的博客-CSDN博客
- ConstraintLayout :它的出现主要是为了解决布局嵌套过多的问题,以灵活的方式定位和调整 View。
4、fragment的优点:
从代码的角度:fragment可以用来表示activity中重复的布局界面,加快开发
从效果的角度:fragment的切换效果比activity更加平滑,给用户的体验更好
从管理的角度:fragment可以管理自己的输入事件和布局,简化了activity的工作
从性能的角度:创建fragment的代价比创建activity的代价小的多,可以优化内存的使用
5、什么情况会造成anp
6、序列化:
8、nevigationView:
9、配置变更:屏幕方向、键盘可用性,以及当用户启用 多窗口模式
10、ContentProvider的简单使用
11、广播-BroadcastRecevier
12、Android四大组件-Service
7、在fragment中点击返回键:
- Fragment及Activity生命周期对比
- 调用 addToBackStack() 会将事务提交到返回堆栈。用户稍后可以通过按“返回”按钮反转事务并恢复上一个 Fragment。
- 如果您在执行移除 Fragment 的事务时未调用 addToBackStack(),则提交事务时会销毁已移除的 Fragment,用户无法返回到该 Fragment。如果您在移除某个 Fragment 时调用了 addToBackStack(),则该 Fragment 只会 STOPPED,稍后当用户返回时它会 RESUMED。
- FragmentManager 管理 Fragment 返回堆栈。在运行时,FragmentManager 可以执行添加或移除 Fragment 等返回堆栈操作来响应用户互动。每一组更改作为一个单元(称为 FragmentTransaction)一起提交。
- 当用户按设备上的“返回”按钮时,或者当您调用 FragmentManager.popBackStack() 时,最上面的 Fragment 事务会从堆栈中弹出。换句话说,事务是反转的。如果堆栈上没有更多 Fragment 事务,并且您没有使用子 Fragment,则返回事件会向上传递到 Activity。
- 当您对事务调用 addToBackStack() 时,请注意,事务可以包括任意数量的操作,如添加多个 Fragment、替换多个容器中的 Fragment,等等。弹出返回堆栈时,所有这些操作会作为一项原子化操作反转。如果您在调用 popBackStack() 之前提交了其他事务,并且您没有对事务使用 addToBackStack(),则这些操作不会反转。因此,在一个 FragmentTransaction 中,应避免让影响返回堆栈的事务与不影响返回堆栈的事务交织在一起。
- 将导航结构视为一系列层,其中 Activity 作为最外层,封装下面的每一层子 Fragment。每一层都必须有一个主要导航 Fragment。当发生返回事件时,最内层控制导航行为。一旦最内层再也没有可从其弹回的 Fragment 事务,控制权就会回到外面的下一层,此过程会一直重复,直至到达 Activity 为止。
8、singleTop:
- 如果在启动这种模式的Activity的时候,当前任务栈的顶端已经存在了相同的Activity,那系统就不会再创建新的,而是回调任务栈中已经存在的该Activity的onNewIntent( )方法。
- 其实最常用的场景就是搜索,比方说我们在搜索框中输入想要搜索的内容点击搜索进入SearchResultActivty(搜索结果页)查看搜索的结果(一般我们也会在搜索结果页提供搜索框,这样用户无需点击返回键回到上一个页面再在搜索框中输入搜索内容点击搜索),如果此时用户还想搜点别的东西,就可以直接在当前的搜索结果页SearchResultActivty中的搜索框输入搜索内容继续搜索。
网友评论