首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
interview
订阅
YDG
更多收藏集
微信扫码分享
微信
新浪微博
QQ
69篇文章 · 0订阅
RecyclerView高级进阶之优雅地解决瀑布流的两个神坑
1.前言 在RecyclerView上使用StaggeredGridLayoutManager布局管理器很容易实现瀑布流布局。瀑布流布局比线性布局和网格布局美观,手机屏幕空间利用率高,但是实现方式也比
Android View的Measure测量流程全解析
相信绝大多数Android开发者都有自定义View来满足各种各样需求的经历,也知道一个View的绘制展示要经过measure、layout、draw三大流程,三者中measure的过程相比是稍微复杂一点点的。这篇文章作为一个Android基础的分享,分享一下view/viewG…
深入探索 Android 电量优化
成为一名优秀的Android开发,需要一份完备的知识体系,在这里,让我们一起成长为自己所想的那样~。 在 Android 应用开发中,我们需要考虑的是如何优化电量使用,让我们的 App 不会因为电量消耗过高被用户排斥,或者被其他安全应用报告,以此确保用户黏性。 开发中一直连接手…
美团Robust热修复框架原理解析
目前热修复框架主要有QQ空间补丁、HotFix、Tinker、Robust等。热修复框架按照原理大致可以分为三类: 美团的Robust使用的是方案三。 1. QQ空间补丁原理 把补丁类生成 patch.dex,在app启动时,使用反射获取当前应用的ClassLoader,也就是…
面试官:今日头条启动很快,你觉得可能是做了哪些优化?
网上关于启动优化的文章多不胜数,内容千篇一律,大都是列举一些耗时操作,采用异步加载、懒加载等。 而在面试过程中,关于启动优化的问题,如果只是很表面地回答耗时操作应该放在子线程,显然太过于普通,无法跟竞争者拉开差距。如何让面试官知道你的“内功深厚”,那肯定是要往原理层面去回答。 …
Android热修复框架面试知识点总结
通过自研的DexDiff算法生成差分包,在客户端和旧的dex合成新的dex文件,利用Android在加载一个类的时候是按顺序从dexElements数组查找加载的,已经加载过了就不会继续查找的原理,在下次app启动的时候将修复好的新dex插入到dexElements的前面。通过…
Android 自定义 View 最少必要知识
1. 什么是自定义 View? 在 Android 系统中,界面中所有能看到的元素都是 View。默认情况下,Android 系统为开发者提供了很多 View,比如用于展示文本信息的 TextView,用于展示图片的 ImageView 等等。但有时,这并不能满足开发者的需求,…
Android中慎用View#getViewTreeObserver#addOnGlobalLayoutListener来获取view的高度
我们经常在view初始化的时候想要获取view的大小,比如在Activity的onCreate方法中想要取得view的大小,有很多小伙伴知道可以在View#getViewTreeObserver#addOnGlobalLayoutListener回调中得到结果,取到结果后,我们…
Android 多渠道打包配置
这就需要依赖强大的gradle 来配置了。 相关的配置也可以参考谷歌官方文档。 *名词解析:*我们通常会分不同的编译环境进行打包,比如有debug、release、beta等环境参数,像这种我们就称之为buildTypes. 您可以在模块级 build.gradle 文件的 a…
MVP 与 MVVM 优缺点总结
主要阐述 Android App 架构之 MVP 与 MVVM 的优点与痛点,不介绍具体的实现方式。因为 MVP 架构简单,无需介绍。而 MVVM 架构相对复杂,核心是 LifecycleOwner、LifecycleObserver、LifecycleRegistry 组件,…