Broadcast Receiver、ContentProvider、Fragment

广播有几种形式 ? 都有什么特点 ?

有序广播:按优先级顺序传播, 可以拦截
普通广播:没有顺序,依次传播
黏性广播:通过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的区别与使用场景

(待完善)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值