首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
sss
订阅
ggtuoba
更多收藏集
微信扫码分享
微信
新浪微博
QQ
19篇文章 · 0订阅
Android应用启动流程分析
网上看过很多Activity启动过程的源码解析,很多文章会贴上一大段代码,然后从startActivity()函数开始深究整个源码的调用栈。个人感觉这类文章代码细节太多,反而容易迷失在源码调用之中,从而忽略了Activity启动过程的本质。所以本文就简单地定性地对Activit…
Android程序员必会技能---运行时动态生成类---之动态代理
谈到java中的动态生成一个类,主要分为两种方法,一种就是动态代理,另外一种就是asm。今天我们就来把对第一种方法 也就是动态代理生成类,这个流程搞清楚吃透。 这里是静态代理,静态代理就是说我们这个代理类是我们之前定义好的,由我们写的java代码然后编译好的。这里有什么缺陷呢?…
Android 静态代理与动态代理详解
学习代理前,我们先了解代理的含义 定义:给目标对象提供一个代理对象,并由代理对象控制目标对象的引用 目的:通过引入代理的方式来间接访问目标对象,防止直接访问目标对象给系统带来不确定的复杂性 为什么会有
Android系统Bitmap内存分配原理与优化
本文重点分析Bitmap内存占用的原理,顺带介绍查看图片内容的常用工具,以常见图片加载框架入手,举例说明其内存策略,最后提出一种优化内存分配的方案。适合初阶客户端开发工程师阅读
强引用、软引用、弱引用和虚引用
对Java的4种引用方式进行介绍,即强引用、软引用、弱引用和虚引用。4种引用级别的强度,由高到低依次为:强引用 > 软引用 > 弱引用 > 虚引用。
庖丁解牛 Activity 启动流程
这是 Android 9.0 AOSP 系列 的第五篇了,先来回顾一下前面几篇的大致内容。 主要介绍了 Android 世界的第一个 Java 进程 Zygote 的启动过程。 主要介绍了 Zygote 进程 fork 的第一个进程 SystemServer,它承载了各类系统服…
Android View 滑动冲突解决方式以及原理
上一篇文章讲了View分发机制的源码,这次来讲讲解决View滑动冲突的方式和原理。 一. 滑动冲突场景以及产生原因 那为什么会产生滑动冲突呢,例如在父ViewGroup和子View的滑动方向一致的情况,我需要让两者都可以滑动。在上篇博客中我们分析了事件分发机制,其中提到View…
Android进阶知识:事件分发与滑动冲突
Android学习一段时间,需求做多了必然会遇到滑动冲突问题,比如在一个ScrollView中要嵌套一个地图View,这时候触摸移动地图或者放大缩小地图就会变得不太准确甚至没有反应,这就是遇到了滑动冲突,ScrollView中上下滑动与地图的触摸手势发生冲突。想要解决滑动冲突就…
Android性能优化:手把手教你如何让App更快、更稳、更省(含内存、布局优化等)
1. 性能优化的目的 性能优化的目的是为了让应用程序App 更快、更稳定 & 更省。具体介绍如下: 2. 需优化的性能指标 3. 优化方向 4. 流畅性 a. 页面需绘制的内容(布局 & 控件)太多,从而导致页面测量时间过长 b. 绘制效率过低,从而导致绘制时间过长 布局优化 …
深入浅出JSBridge:从原理到使用
其中的原生、Web相互通信都离不开JSBridge,这里面小程序比较特殊,对于UI渲染和JS的执行环境做了隔离,基于前两种方式之间。 在Hybrid模式下,H5会经常需要使用Native的功能,比如打开二维码扫描、调用原生页面、获取用户信息等,同时Native也需要向Web端发…