排序
Android自定义view之手势缩放控件
'我正在参加「掘金·启航计划」' 这是我的第二篇文章 我发现大家对于实用性强的文章更感兴趣,这里就写一下之前写的一个自定义一个支持手势缩放以及点击旋转的控件 无图无真相,先上效果图 一、...
Jetpack Compose(第一趴)——Compose编程思想
声明式编程范式 长期以来,Android视图层次结构一直可以表示为界面widget树。由于应用的状态会因用户交互等因素而发生变化,因此界面层次结构需要进行更新以显示当前数据。最常见的界面更新方式...
Android平台下的cpu调频、线程绑核、cpu时间片分配控制实践
背景 为了进一步优化APP性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别介绍普通应用如...
安卓实现掘金 APP 首页滑动吸顶效果
先上最终效果 使用的组件 TabLayout ViewPager NestScrollView RecyclerView 主要实现 首先我们要自定义一个我 ScrollView 继承自 NestedScrollView,重写 onMeasure 方法,在这个方法中我们获...
Android升级TargetSdk33后 ReactNative文本被遮挡问题
现象 当 Android targetSDK 升级到 33 后,一些 React Native 的 Text (重点是自定义字体 FontFamily 后)会出现高度计算不正确和被遮挡的问题。 分析 RN 的 ReactTextView 使用 Spannable 定制...
【每日一技】释放双手,Figma 设计稿转 Jetpack Compose 代码
今天看到一篇有意思的 文章,核心内容是通过 Figma 设计稿生成 Compose 代码在 AS 中使用,由于原文访问需要魔法,故本文对 该文章 进行了简单整理 头图取自 该文章 Figma 打开 Figma 创建账号 ...
Gradle深入解析 – Task原理(Graph篇)
你是否对gradle如何处理task间的依赖感到好奇,创建task的方式有很多种,建立依赖的方式也很多,gradle是如何确定最终task的执行顺序的,下面我们就来探究一下 先用一张图来展示task相关的概念 ...
Android 逆向之脱壳实战篇
大家好,我叫 Jack Darren,目前主要负责国内游戏发行 Android SDK 开发 写这篇文章的背景 自从上次 Android 逆向入门保姆级教程 发布之后,便冲上了掘金 Android 热榜第一,并且还是连续两天第...
如何让安卓应用有两个入口
在使用鼎鼎大名的 leakcanary 检测内存泄漏时,我们发现,添加了 leakcanary 依赖后,再次运行 app 时,桌面上会多一个应用图标。 打开这个 Leaks 应用就能看到自己的 app 中存在的内存泄漏。 ...
问个问题,请描述下Android系统的启动流程
Android启动流程 前言 什么是Android启动流程呢?其实指的就是我们Android系统从按下电源到显示界面的整个过程。当我们把手机充好电,按下电源,手机会弹出相应启动界面,在等了一段时间之后,...
Kotlin | 10分钟搞定by委托机制
本文已同步发表于我的微信公众号,搜索 代码说 即可关注,欢迎与我沟通交流。 类委托 委托机制是一种非常灵活的语言特性,它可以让我们将对象的某些属性或方法委托给其他对象来处理。示例: int...
2023移动端技术探索
1. 行业背景 过去的2022年对大家来说都是困难的一年,难在疫情影响,难在宏观环境的增长放缓。没有增长带来的就是痛苦的体验,对于互联网行业,21年的主题是“反996”,到了22年风向就变成了“...
这么好的Android开发辅助工具App不白嫖可惜了
过年期间闲来没事,手撸了一个辅助Android开发调试的工具App,适合Android开发者和测试同学使用。 Github地址下载, Gitee地址下载(需要登录gitee) 或者去Google Play安装 功能概览 对我这样的懒...
业务架构的救世主是 MVI(一)
本文为稀土掘金技术社区首发签约文章,14天内禁止转载,14天后未获授权禁止转载,侵权必究! 复杂度 Android 架构演进系列是围绕着复杂度向前推进的。 软件的首要技术使命是“管理复杂度” ——...
Android中Hilt的使用
Hilt 是 Android 的依赖项注入库,可减少在项目中执行手动依赖项注入的样板代码。执行手动依赖项注入要求您手动构造每个类及其依赖项,并借助容器重复使用和管理依赖项。 Hilt 通过为项目中的每...
ViewPager2系列–ViewPager2的预加载与缓存复用机制
ViewPager2是基于RecyclerView实现的,因此我们首先要了解RecyclerView的缓存机制 RecyclerView的缓存复用 通常在RecyclerView中存在着四级缓存,从低到高分别为: 可直接重复使用的临时缓存(m...
我想变成光 | 2022 安卓年终总结
闲言碎语 时间过得还是很快的啊,转眼马上就要到了送外卖的年纪了啊,令人唏嘘不已。互联网真的是对于年纪大的人很不友好的,只要你年纪大了,都还是会歧视你的。珍惜好自己最后的职业生涯,做点...
Flutter 3.10 之 Flutter Web 路线已定,可用性进一步提升,快来尝鲜 WasmGC
随着 Flutter 3.10 发布,Flutter Web 也引来了它最具有「里程碑」意义的更新,这里的「里程碑」不是说这次 Flutter Web 有多么重大的更新,而是 Flutter 官方对于 Web 终于有了明确的定位和方...
如何深入掌握 Android 系统开发的拦路虎 Binder
0. 为什么要深入学习 Binder Binder 是整个 Android 的基石 所有的系统服务都是基于 Binder,比如 AMS WMS PMS SurfaceFlinger Audiofilinger 以及硬件操作服务等等 Android 四大组件的底层实现...
Android实现一个可拖拽带有坐标尺的进度条
拿到上边的UI效果图,给我的第一印象就是这实现起来也太简单了吧,SeekBar轻轻松松就搞定了,换个thumb,加个渐变不就完成了,说搞就搞,搞着搞着就抑郁了,底部坐标尺还能搞,等比例分割后,在...