首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
Android
MinQ
创建于2023-05-12
订阅专栏
Android成长之路
等 4 人订阅
共31篇文章
创建于2023-05-12
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
Android 对比AIDL, binder和socket
纵观网上大多数文章,会发现大家讨论比较起binder和socket,整片文章不外乎就是基于两个点: binder数据一次拷贝,socket两次拷贝 binder性能比socket好 我们实际在
LiveData原理研究
简易原理图 对于LiveData架构,我们使用时候都会先声明一个变量如: 这里 appleCount 变量相当于一个被观察者者,因为当他发生变化时候,所有注册到 appleCount 的观察者
【记录问题解决】 VPNService 导致手机VPN无限重启
线上有用户反馈使用我们的APP开启VPN后,手机上的VPN图标不停的闪烁。并且发现这是个概率性问题。 这个问题发生后,直接影响到了用户VPN相关功能的使用。
Android学习-进阶-面试知识点大纲
根据自己这几年对Android的学习了解,总结了一下Android 学习或面试需要了解的知识点的大纲。
gradle自定义task打包AAR和APK
工作中,几乎总会遇到多样化打包的场景,本篇文章主要内容分为: 分析AndroidStudio打包一个AAR SDK(APK)的流程原理 如何自定义task来任意干预系统打包流程来实现多样化需求 AS如
问题记录-如何清除手机DNS缓存
问题: 如何清除手机中缓存的DNS信息,保证每次DNS解析都是直接走网络请求? 背景: 因为需求要求,需要对输入的IP地址或域名进行DNS解析,从而拿到其真实的DNS解析结果,这里想要知道DNS解析的
Android Dagger2简单使用
Dagger是一个很古老的框架了,当初诞生时候,主要是为了模块之间的解耦。本篇文章主要介绍一下如何使用dagger2,后续会介绍其原理。 AS集成 对于现在的AS项目,一般都是会集成Kotli
ViewModel源码解析
ViewModel 首先看下ViewModel的结构。 ViewModel类结构简单,是一个抽象类,我们使用时候,需要继承该类,来定义我们自己的ViewModel。内部定义的onCle
Android Socket编程-DNS
DNS解析,其实就是找到域名对应的IP地址,这里是一对多的关系,一个域名可以注册多个IP地址,比如百度(www.baidu.com), 它具有很多服务器,所以DNS解析
记录一次解决Android 高CPU占用率的问题
背景 最近测试测试APP的一个功能,发现点击页面上的按钮后,CPU占有率比之前的版本要高,达到了4%,之前的版本只有不到1%。由于两个版本之间代码提交特别多,无法直接通过代码变动来对比分析。只
【GC】真实代码层面来分析内存优化(场景1)
常见代码场景 存在下边两个方法,outMethod和innerMethod,其中outMethod方法中调用了innerMethod。 其中bigArray特别大,占用内存10M,我们
从字节码来分析 Switch 和 if 操作字符串时候的不同
平时经常会遇到一个需求,针对一个字符串变量的不同值,返回不同的数据或者进行不同的操作。可能我们会选择使用一堆if来判断,也可能会使用Switch来进行操作。那么这两个到底选择使用哪个好呢?我们这次从字
ThreadLocal原理详解
使用场景 系统Looper使用ThreadLocal来确保每个线程只有一个looper对象。 平时业务中,可以使用ThreadLocal来确保每个线程维护自己的一个实例和数据。 ThreadLocal
[Android网络相关-4] OKHttp 上层架构原理
前几篇文章重点讲解了Android底层HttpURLConnection的具体流程原理,本篇我们分析下OKHttp框架,我们上层使用的原理。 首先记住一个概念,OKHttp底层从缓存的连接池中
VPNService 使用及原理解析
如何使用VPNService vpnService内部构成 VpnService继承service,内部维护了一个VPNManagerService的代理对象VPNManager,同时对外提供
[Android网络相关-3] https协议请求的理解
上篇分析了http协议的请求流程,基于OKHttp框架。本篇主要分析一下https的请求。 https相对http协议,多了一层tls认证,认证结束后,会协商出会话加密密钥,后续通信就会通过该
[Android网络相关-2] http协议请求framework层原理架构
Http请求开始到response流程 接上篇文章,URL的openURLConnection主要是用于生成一个HttpUrlConncetionImpl对象并返回给我们。这里并不会产生网络请
[Android网络相关-1] HttpURLConnection原理
一个Http请求做的事情 当我们不使用框架,而是直接使用android系统的HttpURLConnection来做http请求时候,我们一般分3步。 根据我们的请求目标的url地址字符串,通过
[Android多线程-2] 通过实际操作来学习多线程
多线程交替执行 方案1 使用 Condition + ReentrantLock Condition 是个接口,内部定义了方法await和signal,主要用于代替wait和notify方法。
[Android多线程-1] 线程池
进程和线程 进程和进程之间数据是隔离的,线程之间可以访问共享内存,访问对方的数据。 线程是在进程里创建的,一个进程里可以创建多个线程。 线程池 对于线程的新建和销毁,资源开销比较大,线程池可以用来管理
下一页