排序
Android 即将进入大AI时代
一. 前言 自从OpenAI流行之后,我对这一块的方向还是比较关注的。前段时间Google IO大会AI部分也是占了很大的比重了,而且从google的部署来看,也差不多是往我预期的方向去发展,我所关注的东西...
Android属性动画的高级技巧
在 Android 开发中,属性动画是非常常见的一种动画方式。它可以让我们实现各种复杂的动画效果,比如旋转、缩放、移动、渐变等。那么,Android 属性动画是如何实现的呢?本文将从原理的角度来介...
写一个SVGView,并上传到Maven上
上文主要写了自定义View的一些基础,这篇文章主要自定义了SVGView,也算是对上篇文章的巩固,事件的起因是开发APP的时候有一个人体图,可以标注出各个区域的疼痛程度,所以第一时间想到了使用SV...
自定义View基础
本文主要是记录一下继承子View,所需要实现的方法,以及对自己的知识做一下梳理和记录,其中不少内容觉得自己应该是会的,但是实际写起来,还是遇到不少阻碍 构造方法 首先构造先了解一下构造方...
Kotlin | 10分钟搞定by委托机制
本文已同步发表于我的微信公众号,搜索 代码说 即可关注,欢迎与我沟通交流。 类委托 委托机制是一种非常灵活的语言特性,它可以让我们将对象的某些属性或方法委托给其他对象来处理。示例: int...
ServiceManager是如何管理java层service的
前言 ServiceManager是Binder机制的大管家,管理着android系统的各种Service。service向servicemanager注册,当client需要调用service时,先通过servicemanager查询到该service,client接着再与...
如果启动一个未注册的Activity
简述 要启动未注册的Activity主要是要逃避AMS的检测,思路是,检测前要启动的Activity换成注册的,检测通过了,再在启动前换回来。这里主要是两个点。检测前,hookAMS。检测后hookHandler。hook...
05.Handler源码之消息队列的遍历
前几篇我们学习了Handler的创建,Looper和MessageQueue是组合关系,Handler持有Looper和MessageQueue的引用。还有消息的创建与发送,消息持有Handler的引用,通过Handler发送到MessageQueue。同...
Jetpack Compose(第一趴)——Compose编程思想
声明式编程范式 长期以来,Android视图层次结构一直可以表示为界面widget树。由于应用的状态会因用户交互等因素而发生变化,因此界面层次结构需要进行更新以显示当前数据。最常见的界面更新方式...
记一次个人项目迁移到 AGP 8.0+ & Gradle 8.0+ 的全过程
前言 历经几个月的拖延,我终于在今天下午决定将自己的项目从 AGP 7.1.2 & Gradle 7.3.3 迁移至 AGP 8.0+ & Gradle 8.0+。整体过程还算顺利,但也遇到了一点问题,结果也比较有意思。本...
编译优化跌落神坛
最近在一次技术分享中,有网友问我小公司可以考虑做哪些编译优化?我觉得这个课题也还是挺有必要展开下讲讲的。 编译优化方面其实我个人觉得并不一定是特别高大上的东西,除了一些特别深水区的...
JNI 编程上手指南之 JNI 数据类型
1. 数据类型 JNI 程序中涉及了三种数据类型,分别是: Java 类型 JNI 类型 C/C++ 类型 在 Java 程序中我们使用的是 Java 类型,C/C++ 程序中拿到的是 JNI 类型,我们需要将其转换为 C/C++ 类型...
JNI 编程上手指南之描述符
1. 类描述符 在 JNI 的 Native 方法中,我们要使用 Java 中的对象怎么办?即在 C/C++ 中怎么找到 Java 中的类,这就要使用到 JNI 开发中的类描述符了 JNI 提供的函数中有个 FindClass() 就是用...
京东购物车分页方案探索和落地 | 京东云技术团队
随着京东购物车应用场景的丰富化和加车渠道的多元化,京东购物车的商品容量从2015年至今一直在逐步增加。 2015年京东购物车由80件扩容到120件; 2018年由120件扩容到150件; 2020年由150件扩容...
Android架构灵魂组件Lifecycle的生命周期机制详解
前言:写作就跟生活一样,是一趟发现之旅。 前言 在早期 Andorid 架构中,生命周期的事件监听和状态查询,我们需要自定义一套提供侦测功能的 Activity/Fragment 基类及回调接口,在 Activity/Fr...
开发一款游戏App上线Googleplay(花了2个月业余时间)
欢迎关 Android茶话会 回 pdf 取阿里&字节经典面试题、Android、算法、Java等系列武功秘籍 在技术学习、个人成长的道路上,让我们一起前进! 背景 作为一个Android开发还是希望能上线一...
Flutter中如何获取Text截断后的字符串
我正在参加「掘金·启航计划」。 问题 当Text文本设置maxLins属性将文本强制截断之后,Text的承载字符串是截断前?还是截断后的呢?我们该如何获取截断后的字符串呢? 答案是:截断前,截断字符...
CheckBox/RadioButton切换动效实现
背景 因为项目需求要为CheckBox和RadioButton添加切换动画,以达到个性化的UI组件效果,具体来说项目需要的切换动画为复杂动画,即无法通过简单的平移,旋转,缩放等基本图形变换来模拟。经...
Android平台下的cpu调频、线程绑核、cpu时间片分配控制实践
背景 为了进一步优化APP性能,最近针对如何提高应用对CPU的资源使用、以及在多线程环境下如何提高关键线程的执行优先级做了技术调研。本文是对技术调研过程的阶段性总结,将分别介绍普通应用如...
给Android工程师入门Flutter手册(二)
前言 这是笔者作为一个Android工程师入门Flutter的学习笔记,笔者不想通过一种循规蹈矩的方式来学习:先学Dart语言,然后学习Flutter的基本使用,再到实践应用这样的步骤。这样的方式有点无趣且...