首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
Android面试官
掘友等级
公众号: Android 面试官
为你解答 Android 面试的各种问题
获得徽章 4
动态
文章
专栏
沸点
收藏集
关注
作品
赞
11
文章 11
沸点 0
赞
11
返回
|
搜索文章
最新
热门
GUI 系统综述
生成图形缓冲区以供消耗的任何内容,例如 OpenGL ES、Canvas 2D 和 mediaserver 视频解码器都是图像流生产方。 图像流最常见的消耗方是 SurfaceFlinger,该系统服务接收来自于多个源的数据缓冲区,组合它们,并将它们发送给显示设备。 除了 Su…
说一说 Service 的启动流程
😎:不好意思,没深入过。。。 😨:Service 作为四大组件之一,当然也是通过 AMS 去管理创建流程的。一个应用进程通过 startService 调用 AMS,然后 AMS 再判断这个 Service 是否已经启动,若未启动则通知应用去启动 Service,或已经启动…
Service 详解
Service 是安卓的一种机制,运行于主线程的 Service 是 Context 的子类,可以调用 Context 的所有方法。可以通过 startService, stopService, bindService, unbindService 来控制它,也可以在 Serv…
掌握 binder 机制?先搞懂这几个关键类!
介绍之前,先简单回顾下 binder 的整体架构,大致了解这些类的角色。 Client 通过 ServiceManager 或 AMS 获取到的远程 binder 实体,一般会用 Proxy 做一层封装,比如 ServiceManagerProxy,而被封装的远程 binder…
策略模式
思考一下:实现某一功能可以有多种算法或策略,我需要根据条件选择相应的算法或策略来完成该功能。如:排序算法,可以使用冒泡排序、归并排序、快速排序等。要怎么实现呢? 很多同学想,写个类,每个方法是一种排序算法,然后再封装一个方法写 if...else... 来判断要用哪个算法,从而…
怎么解决引用计数 GC 的循环引用问题?
我: ...可以通过强、弱引用计数结合方式解决引用计数的循环引用问题,实际上 Android 的智能指针就是这样实现的... sp 即 strong pointer 强指针引用;wp 是 weak pointer 弱指针引用。 在 Java 中我们不用关心对象的销毁及内存释放,…
如何绕过 Android 8.0 startService 限制?
1. 后台应用对后台服务的访问受到限制 在不与用户直接交互的后台应用中,运行 Service 会消耗系统资源,这可能会影响前台应用的正常运行。Android 8.0 及更高版本不允许后台应用运行后台服务,需要通过 startForegroundService() 指定为前台服务…
LeakCanary 一只优雅的金丝雀
LeakCanary 是 Square 公司的一个开源库。通过它可以在 App 运行过程中检测内存泄漏,当内存泄漏发生时会生成发生泄漏对象的引用链,并通知程序开发人员。 17世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;而…
简洁明了的刘海屏适配方案
网上关于刘海屏适配的文章不少,可讲清楚的却没几篇,大多是拷贝文档、长篇大论,甚至热情的贴图告诉你什么是刘海屏,到最后你仍不确定到底是怎样的一个适配方案,才能让你的 app 真正的适配所有的刘海屏机型。 看到这篇文章你就无需再怨恨各大厂商的跟风“刘海”了,因为刘海屏的适配十分简单…
Android Canvas 绘制小黄人
我觉得这个绘制小黄人的自定义 View 就很有意思,也为我后来工作中的自定义 View 实现打下了良好的基础。虽然这是 4 年半以前写的文章,但是大部分关注我们的同学应该没看过,今天咱们一起来拷古翻新一下代码(程序员的事,怎么能叫炒冷饭呢,这明明是温故而知新)。以后有机会还会分…
下一页
个人成就
文章被点赞
550
文章被阅读
110,609
掘力值
3,113
关注了
10
关注者
1,301
收藏集
0
关注标签
7
加入于
2020-05-05