首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
ANDROID
订阅
自动化BUG制造器
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
Android 蓝牙技术(一)- 经典蓝牙
Android平台支持蓝牙设备通过蓝牙协议栈来实现无线通信。应用层提供了Bluetooth APIs来使用蓝牙功能, 这些API可以使应用可以无线连接其他蓝牙设备实现点对点及多点间通信。 本篇主要讲经典蓝牙技术,经典蓝牙适合耗电操作,包括流传输及Android设备间通信。对于有…
Android进阶9:IntentService的妙用
我们知道Service是运行在主线程里的,因此,如果在服务里面执行耗时代码操作,我们需要开启一个子线程去处理这些代码。比如我们可以在onStartCommand方法里面去开启子线程来处理耗时代码。 但是,我们都知道,服务一旦启动,就会一直运行下去,必须调用stopService…
Android 8.0 源码分析 (九) WindowManager
首先这一篇为什么会先讲解 WindowManager 而不是直接分析 WindowManagerService 呢?他们之间又是怎样的关系 ?这是因为, 为了更好的理解 WMS , 需要先理解 WindowManager, 而且 WindowManager 又是与 WMS 关联…
闲来无事,动手写一个LRU本地缓存
缓存失效指的是缓存过期了,需要对过期的缓存数据进行删除。删除可以分为主动删除和被动删除两种 缓存淘汰指的是缓存的数量达到一定值时按照某种规则删除某个数据,不考虑该数据是否过期。常见的缓存淘汰算法有: 选择好了缓存失效和缓存淘汰的算法以后就可以确定缓存结构了,原先考略的是线程安全…
“无处不在” 的系统核心服务 —— ActivityManagerService 启动流程解析
之前介绍 SystemServer 启动流程 的时候说到,SystemServer 进程启动了一系列的系统服务,ActivityManagerService 是其中最核心的服务之一。它和四大组件的启动、切换、调度及应用进程的管理和调度息息相关,其重要性不言而喻。本文主要介绍其启…
【Medium 万赞好文】ViewModel 和 LiveData:模式 + 反模式
理想情况下,ViewModel 应该对 Android 世界一无所知。这提升了可测试性,内存泄漏安全性,并且便于模块化。 通常的做法是保证你的 ViewModel 中没有导入任何 android.*,android.arch.* (译者注:现在应该再加一个 androidx.l…
总结UI原理和高级的UI优化方式
本文内容分为三个部分,UI原理、LayoutInflater原理、UI优化,篇幅有点长,可以选择自己喜欢的章节进行阅读,每一个部分最后都有小结。 还可以细分,比如Activity、Window、DecorView之间的关系,这个其实也应该难度不大,又突然想到,setConten…
Android进阶5:SurfaceView实现原理分析
第一次接触SurfaceView,找了很多资料才理解SurfaceView概念,总结查资料的结果。Android中有一种特殊的视图,称为SurefaceView,与平时时候的 TextView、Button的区别: 因为不会占用主线程资源,一方面可以实现复杂而高效的UI,二是不…
面试必备:Android(9.0)Activity启动流程(一)
本篇文章将根据源码解剖Android的Activity的启动流程,需注意的是下列的分析均基于Android9.0, 9.0版本相较于之前几个版本做了许多改动和重构,但是整体的流程是变化不大。根据启动Activity时机的不同,可分为根Activity的启动流程和普通Activi…