首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
原理篇
订阅
哲风楚汉
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
Android深入四大组件(七)Android8.0 根Activity启动过程(后篇)
在几个月前我写了Android深入四大组件(一)应用程序启动过程(前篇)和Android深入四大组件(一)应用程序启动过程(后篇)这两篇文章,它们都是基于Android 7.0,当我开始阅读Android 8.0源码时发现应用程序(根Activity)启动过程照Android …
Android消息循环机制浅析
接收消息的“消息队列” ——【MessageQueue】主要功能是投递消息(MessageQueue.enqueueMessage)和取走消息池的消息(MessageQueue.next); 阻塞式地从消息队列中接收消息并进行处理的“线程” ——【Thread+Looper】 …
Android 面试题(附答案) | 掘金技术征文
垃圾回收需要完成两件事:找到垃圾,回收垃圾。 当一个对象被引用时,它的引用计数器会加一,垃圾回收时会清理掉引用计数为0的对象。但这种方法有一个问题,比方说有两个对象 A 和 B,A 引用了 B,B 又引用了 A,除此之外没有别的对象引用 A 和 B,那么 A 和 B 在我们看来…
你的 APP 为何启动那么慢?
冷启动是指APP在手机启动后第一次运行,或者APP进程被kill掉后在再次启动。 可见冷启动的必要条件是该APP进程不存在,这就意味着系统需要创建进程,APP需要初始化。在这三种启动方式中,冷启动耗时最长,对于冷启动的优化也是最具挑战的。因此本文重点谈论的是对冷启动相关的优化。…
App 启动过程(含 Activity 启动过程) | 安卓 offer 收割基
这道题在曾经面试「菜鸟网络」中遇到过,不过当时只问了「Activity 启动过程」,这里对整个「App 启动过程」进行完整的源码分析,希望可以帮助到大家。 1. Launcher 捕获点击事件,其过程为 Launcher#onClick -> Launcher#onClickA…
Android插件化原理(一)Activity插件化
四大组件的插件化是插件化技术的核心知识点,而Activity插件化更是重中之重,Activity插件化主要有三种实现方式,分别是反射实现、接口实现和Hook技术实现。反射实现会对性能有所影响,主流的插件化框架没有采用此方式,关于接口实现可以阅读dynamic-load-apk的…
从源码的角度谈谈面试常客Handler的内部原理
我们都知道,在进行Android应用开发的时候,主线程(又称为UI线程)不能进行网络请求一类的耗时操作,必须开启一个子线程来处理;但是在子线程里面又不能进行更新UI的操作,更新UI必须在主线程里操作。那么当子线程进行完耗时操作时如何通知主线程更新UI呐?这个时候Handler就…
Android进阶(十)资源和Service的插件化
res目录下存放的资源文件。编译时会在R文件中生成资源文件的十六进制值。res目录下资源通过Context.getResource方法获取到Resource对象,然后通过getXXX获取资源。 assets目录下存放的原始文件,编译时不会被编译。通过AssetManager的o…
理解 IntentService 原理
service的作用相信大家都是非常熟悉的,主要用来在后台进行任务处理,例如后台播放音乐、下载文件、上传文件等等。由于service是运行在主线程中的,也有一定的时间限制,如果在主线程中对一个任务的处理时间超过了限制,进程就会出现“应用不响应”,即ANR, Applicatio…
Android深入四大组件(六)Android8.0 根Activity启动过程(前篇)
在几个月前我写了Android深入四大组件(一)应用程序启动过程(前篇)和Android深入四大组件(一)应用程序启动过程(后篇)这两篇文章,它们都是基于Android 7.0,当我开始阅读Android 8.0源码时发现应用程序(根Activity)启动过程照Android …