2018面试题大总结(二)

对于上一篇我也说了如果有需要的小伙伴们可以私聊我要答案的,那我就来公布一下自己的“宝贝”吧!!!哈哈哈~~~

A公司

1.handler https://blog.csdn.net/qq_30379689/article/details/53394061

2.AsyncTask https://blog.csdn.net/qq_30379689/article/details/53203556

3.Service是四大组件之一,它可以在后台执行长时间运行操作而没有用户界面的应用组件

service启动方式

.startService

.bindService

service生命周期

startService:onCreate() onStartCommand()onDestroy()

bindService:onCreate()onBind()onUnBind()onDestroy()

service使用场景

为了满足开发者处理后台任务的需要,Android提供了Service这个组件,同时为了方便开发者使用Service,又封装了一个IntentService。当然,现在很多App在处理后台任务的时候并没有优先使用Service,而是自己实现了一套线程池机制或者使用Android提供的AsyncTask来执行后台任务,这里我们来分析下他们各自的优劣

Service的优点是系统原生支持,使用方便;创建进程方便;可以提供给系统内其他App使用;优先级高,当App退到后台后不宜被杀死。缺点是由于启动Service涉及到多次IPC,运行效率不高,而且受限于系统接口,使用不够灵活。

线程池的优点是运行效率高,配置和使用灵活。缺点是多进程实现不方便, 由于Android实现了一套进程托管机制,我们不能直接创建一个新的进程,而只能通过四大组件的形式创建新的进程

4.Broadcast是四大组件之一,是一种广泛运用在应用程序之间传输信息的机制,通过发送Intent来传送我们的数据

Broadcast Receiver的使用场景

 

  • 同一App具有多个进程的不同组件之间的消息通信
  • 不同App之间的组件之间的消息通信

Broadcast Receiver的种类

 

  • 普通广播
  • 有序广播
  • 本地广播
  • Sticky广播

Broadcast Receiver的实现

 

  • 静态注册:注册后一直运行,尽管Activity、进程、App被杀死还是可以接收到广播
  • 动态注册:跟随Activity的生命周期

Broadcast Receiver实现机制

 

  • 自定义广播类继承BroadcastReceiver,复写onReceiver()
  • 通过Binder机制向AMS进行注册广播
  • 广播发送者通过Binder机制向AMS发送广播
  • AMS查找符合相应条件的广播发送到BroadcastReceiver相应的循环队列中
  • 消息队列执行拿到广播,回调BroadcastReceiver的onReceiver()

LocalBroadcastManager特点

 

  • 本地广播只能在自身App内传播,不必担心泄漏隐私数据
  • 本地广播不允许其他App对你的App发送该广播,不必担心安全漏洞被利用
  • 本地广播比全局广播更高效
  • 以上三点都是源于其内部是用Handler实现的

5.自定义View

https://blog.csdn.net/qq_30379689/article/details/54588736

https://blog.csdn.net/qinjuning/article/details/7110211

6.事件分发机制https://blog.csdn.net/qq_30379689/article/details/53967177

7.原生网络请求  HttpClientHttpURLConnection

https://blog.csdn.net/xuehuayous/article/details/54143487

https://www.cnblogs.com/whoislcj/p/5520384.html

8.AIDL https://blog.csdn.net/luoyanglizi/article/details/51980630

9.内存溢出内存泄漏 https://blog.csdn.net/sinat_29255093/article/details/52556760

https://blog.csdn.net/chenlxhf/article/details/53121231

10.数据库 https://blog.csdn.net/msn465780/article/details/76813122

https://www.cnblogs.com/2010wuhao/p/4681899.html

http://www.jb51.net/article/105339.htm

。。。

11.git代码管理工具 https://blog.csdn.net/gao_chun/article/details/49817229/

B公司

1.https://blog.csdn.net/true100/article/details/48157491

https://blog.csdn.net/qq_24530405/article/details/52067474

2.后台保活 https://blog.csdn.net/hlq19901005/article/details/53818186

3.微信支付 https://blog.csdn.net/gf771115/article/details/71104143

4.推送 https://blog.csdn.net/carson_ho/article/details/52693242?locationNum=12

5.即时通讯 https://blog.csdn.net/qq_15807167/article/details/51959496

6.地图定位 https://blog.csdn.net/mr_wzc/article/details/51590485

地理编码反地理编码 https://blog.csdn.net/napoleonbai/article/details/41725447

C公司

1.API的使用 https://blog.csdn.net/youmingyu/article/details/53543745

2.转盘抽奖 https://blog.csdn.net/lmj623565791/article/details/41722441

3.抢红包 https://blog.csdn.net/zhangmiaoping23/article/details/51560151

https://blog.csdn.net/Leo_eight/article/details/52200105

 

 

好了,先总结这么多,这都是我觉得还不错的博客,希望小伙伴们可以好好学习哈~~~

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我是阿亮啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值