目录
- 广播有几种形式 ? 都有什么特点 ?
- 广播的两种注册方式 ?
- 广播发送和接收的原理了解吗 ?(Binder机制、AMS)
- ContentProvider是什么?
- ContentProvider的权限管理?
- 说说ContentProvider、ContentResolver、ContentObserver 之间的关系?
- 谈一谈Fragment的生命周期 ?与Activity生命周期的不同 ?
- 谈谈Activity和Fragment的区别?
- Fragment中add与replace的区别(Fragment重叠)
- getFragmentManager、getSupportFragmentManager 、getChildFragmentManager之间的区别?
- FragmentPagerAdapter与FragmentStatePagerAdapter的区别与使用场景
广播有几种形式 ? 都有什么特点 ?
有序广播:按优先级顺序传播, 可以拦截
普通广播:没有顺序,依次传播
黏性广播:通过Context.sendStickyBroadcast()函数来发送,用此函数发送的广播会一直滞留,当有匹配此广播的广播接收器被注册后,该广播接收器就会收到此条信息。使用此函数需要发送广播时,需要获得BROADCAST_STICKY权限
本地广播:LocalBroadcastManager.getInstance().sendBroadcast
有序广播拦截:abortBroadcast();
广播的两种注册方式 ?
静态注册:在AdnroidManifest.xml中注册
动态注册:registerReceiver(broadcastReceiver, filter)
广播发送和接收的原理了解吗 ?(Binder机制、AMS)
静态广播在APP在安装的时候,PackageManagerService会解压apk,并自动注册静态接收器。
动态广播注册由工作主要由ActivityManagerService来完成。
(待完善)
ContentProvider是什么?
内容提供者,通过这一个组件可以将数据提供给本进程或者其它进程,从而实现跨进程共享数据
ContentProvider的权限管理?
说说ContentProvider、ContentResolver、ContentObserver 之间的关系?
ContentProvider 提供数据
ContentResolver 获取提供的数据, notifyChange(uri)发出更新通知
ContentObserver 监听数据变化
谈一谈Fragment的生命周期 ?与Activity生命周期的不同 ?
对应create: onAttach(F与A关联后) -> onCreate(F创建) -> onCreateView(布局创建) -> onActivityCreated(A的OnCreate之后)
对应start:onStart
对应resume: onResume
对应pause: onPause
对应stop: onStop
对应destroy: onDestoryView->onDestory->onDetach(F不再与A绑定,资源都将释放)
谈谈Activity和Fragment的区别?
Android 在 Android 3.0(API 级别 11)中引入了片段,主要是为了给大屏幕(如平板电脑)上更加动态和灵活的 UI 设计提供支持。它们的生命周期不一样,等级也不一样,Activity是独立的界面组件,Fragment需要依附于Activity。使用Fragment可以减少界面在Activity中切换,复用UI逻辑,灵活组装使用
Fragment中add与replace的区别(Fragment重叠)
当Activity被系统回收时,fragment可能还在内存中,这时候再启动Activity,可能造成fragment的重叠显示。
add 是添加一个新的fragment,replace清空fragment再添加。但是replace方法需要销毁其它的fragment再创建当前的fragment,开销较大。一般通过给每个fragment设置tag,每次先查找tag,找不到再创建。再通过show 和hide方法来控制fragment的显示和隐藏
getFragmentManager、getSupportFragmentManager 、getChildFragmentManager之间的区别?
getFragmentManager 是Activity中的方法,最小sdk版本要api11。
getSupportFragmentManager 是v4包的方法
getChildFragmentManager 是Fragment中管理子Fragment的manger
FragmentPagerAdapter与FragmentStatePagerAdapter的区别与使用场景
(待完善)