首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Android 进阶
订阅
Ruilgnay
更多收藏集
微信扫码分享
微信
新浪微博
QQ
26篇文章 · 0订阅
Android性能优化之绘制优化
前一段时间,笔者带大家一起深入探索Android布局优化和深入探索Android卡顿优化,内容难度比较大,因此,本篇文章就是上述两篇文章的基础篇,掌握这篇文章的知识后,阅读上面两篇文章的难度会小很多。 Android的显示过程可以简单概括为:Android应用程序把经过测量、布…
ThreadLocal原理分析
ThreadLocal类是java.lang包下的一个类,用于线程内部的数据存储,通过它可以在指定的线程中存储数据,本文针对该类进行原理分析。 这里先将ThreadLocalMap暂时理解为一个Map结构的容器,内部存储着该线程作用域下的的所有变量副本,我们从ThreadLoc…
架构
有关android架构方面的知识少之又少,而对与架构的理解有关架构的文章也都是智者见智仁者见仁。在我身边听到最多的话就是架构=What?、架构=框架、架构=设计模式、架构=MVP/MVVM。那么架构到底是什么那?架构又有何用处?它在android中又能给你带来意想不到的效果? …
深入Java虚拟机之 -- 总结面试篇
在学习 JVM 相关知识,怎么让自己有动力看下去,且有思考性呢?笔者认为,开头用一些常用的面试题,来引入读者的兴趣比较好,这样才会有看下去的东西,所以,该篇文章会以面试+总结的方式,希望读者能先思考写出答案,再查看相关知识。 创建对象是为了使用对象,虚拟机需要通过栈中的 ref…
Android组件化开发实践和案例分享
投资界,新芽,项目工厂等APP自身在飞速发展,版本不断迭代,新功能不断增加,业务模块数量不断增加,业务上的处理逻辑越变越复杂,同时每个模块代码也变得越来越多,这就引发一个问题,所维护的代码成本越来越高,稍微一改动可能就牵一发而动全身,改个小的功能点就需要回归整个APP测试,这就…
接口请求身份认证的Token和RefreshToken的解决方案
最后,当然是开始编码了。 刷新成功后有两种操作,如果返回200,拿到新的token去重新请求当前报401的接口,如果返回410(当然也可以是110,因为这是咋们和后台小伙伴约定的这个时候就是token真正的过期了,直接去重新登录。 后果就是:每个接口都报401时都去刷新toke…
【Android进阶】RecyclerView之绘制流程(三)
上一篇,说了RecyclerView的回收复用,这一篇,我们来说说RecyclerView的绘制流程。 如果宽和高的测量值是绝对值时,直接跳过onMeasure方法。 mLayoutStep默认值是 State.STEP_START即为1,关于dispatchLayoutSte…
【Android进阶】RecyclerView之缓存(二)
上一篇,说了ItemDecoration,这一篇,我们来说说RecyclerView的回收复用逻辑。 答案是LayoutManager#onLayoutChildren()。 也就是说,正常情况下上述2者都是不参与RecycleView的回收与复用。 可以看到,每次有item滑…
Android编译期插桩,让程序自己写代码(一)
近些年,编译期插桩技术在Android圈越来越普遍。无论是可以生成JAVA源码的ButterKnief、Dagger,还是操作字节码的VirtualAPK,甚至是新兴的语言Kotlin都用到了编译期插桩技术。学习这门技术对我们理解这些框架的原理十分有帮助。另外,我们通过这种技术…
Android 版本适配:8.x Oreo(API 级别 26、27)
本文主要是从官方文档中筛选出一些常见的适配项,若有任何纰漏或需要补充的,欢迎大家在评论区指出。 1. 运行时权限授予优化 那么在动态获取 READ_EXTERNAL_STORAGE 权限之后,直接使用 WRITE_EXTERNAL_STORAGE 权限相关的操作时并不会出现任何…