android读书知识点总结
16lz
2021-01-26
一、《Android权威指南》读书笔记
layout_weight:属性值进行进行额外的空间分配。
为保证单例模式模式总是有Context可用,可调用getApplicationContext()方法,将不确定是否存在的Context替换为application context。任何时候,只要是应用层面的单例,就应该一直使用application context。
activity和fragment直接的数据传递:
1.通过intent的extra来进行数据的传递。(缺点:牺牲fragment的封装性为代价的,fragment不再是可复用的构建单元,因为fragment总是需要某个具体的activity来托管。)
2.通过fragment的argument来进行数据的绑定传递。(fragment.setArguments(Bundle))
FragmentStatePagerAdapter和FragmentPagerAdapter的区别:
两者的使用方法基本相同,区别在卸载不需要的fragment时,所采用的处理的方法不同。
FragmentStatePagerAdapter会销毁不需要的fragment。事物提交后,可将fragment从activity的FragmentManager中彻底删除。在销毁fragment时,它会将其onSaveInstanceState(Bundle)保存。用户切换回原来的界面后,保存的实例状态可用于恢复生成新的fragment。而FragmentPagerAdapter则会将fragment实例保存在FragmentManager中,因此FragmentPagerAdapter创建的fragment永远不会被销毁。
在fragment、activity、fragment之间传递数据可用通过设置setTargetFragment()来设置目标fragment。同时通过与startActivityForResult()和onActivityResult()类似的方法实现来进行数据的回传。
fragment保存实例调用方法setRetainInstance(boolean)。 当为true时,当设备旋转时以保存的fragment不会随着activity一起被销毁,它会一直保留到需要时原封不动传递给新的activity。(当然如果有大量的数据需要去保存,则采用onSaveInstanceState()方法)
当fragment中建立选项菜单时,需要调用setHasOptionsMenu(boolean),当建立浮动上下菜单时调用registerForContextMenu(View view),为浮动上下文菜单登记一个视图。
启用fragment视图上显示向左的图标,并开启应用图标向上导航按钮的功能。需要调用setDisplayHomeAsUpEnable(boolean)来支持该功能。
Android中的相机是一种独占资源,一次只能有一个activity能够调用相机。(使用相机开发时,在onStart()方法中加载图片,然后在onStop()方法中卸载图片是一种好的习惯。)
更多相关文章
- Android(安卓)Listener侦听的N种写法
- View的事件体系《Android开发艺术探索》笔记
- 关于Android中的四大组件(Activity)
- Android(安卓)多线程之HandlerThread 完全详解
- WebView Android(安卓)调用js且需要获取返回结果
- SurfaceFlinger启动过程分析(一)、(二)、(三)、(四)【转】
- 深入理解FragmentManager
- Android(安卓)- 小问题 - ViewPager onPageChangeListener
- Android(安卓)WebView H5页面 input type =“file”解决方法