Android共0篇
Android
Android自定义一个车牌字母选择键盘-五八三

Android自定义一个车牌字母选择键盘

在一般和车相关的应用,难免会和车牌打交道,组成车牌的要素,国内无非就是省份简称+地区代码+英文或者数字组成,比如京A12345,在需要输入车牌的功能上,就需要有省份简称键盘和英文数字键盘了...
admin的头像-五八三admin2年前
090
重学Binder进程间通信-原理篇-五八三

重学Binder进程间通信-原理篇

“我正在参加「掘金·启航计划」” 前言 Binder对于Android系统来说非常重要,毫不夸张的说:无Binder就无Android,Binder是Android系统的任督二脉。正如其名Binder其名“粘合剂”一般,Binder...
admin的头像-五八三admin2年前
060
如果启动一个未注册的Activity-五八三

如果启动一个未注册的Activity

简述 要启动未注册的Activity主要是要逃避AMS的检测,思路是,检测前要启动的Activity换成注册的,检测通过了,再在启动前换回来。这里主要是两个点。检测前,hookAMS。检测后hookHandler。hook...
admin的头像-五八三admin2年前
0130
JNI 编程上手指南之 JavaVM 详解-五八三

JNI 编程上手指南之 JavaVM 详解

JavaVM 是什么? JavaVM 是一个结构体,用于描述 Java 虚拟机。 一个 JVM 中只有一个 JavaVM 对象。在 Android 平台上,一个 Java 进程只能有一个 ART 虚拟机,也就是说一个进程只有一个 JavaVM...
admin的头像-五八三admin2年前
0100

十分钟带你写一个Android Websocket 第一篇

我正在参加「掘金·启航计划」 1、前言 通过观察我的更新频率,你可能会得出我是一个鸽子的结论。不过请听我狡辩一下。最近我沉迷于编写服务器端的应用,因为虽然我们说Android使用Java,但实际...
admin的头像-五八三admin2年前
070
安卓游戏发行-控件注解框架-关键点1-五八三

安卓游戏发行-控件注解框架-关键点1

作者 大家好,我叫祥子?;  本人15年毕业于广东药科大学,于2018年8月加入37手游安卓团队,曾经就职于网易担任安卓开发工程师;  目前是37手游安卓团队负责人,除日常团队相关管理外,空闲喜...
admin的头像-五八三admin2年前
040
HashMap原理-五八三

HashMap原理

HashMap 基本知识点 hahsMap 负载因为默认为0.75,作用是用于决定什么时候扩容、 默认数组大小为16,并且数组大小永远为2的倍数,即使我们实例化时候传入非2的倍数,map内部也会找一个最接近的2...
admin的头像-五八三admin2年前
0150
Dart 3.0 语法新特性 | switch 匹配加强-五八三

Dart 3.0 语法新特性 | switch 匹配加强

一、 重新审视 switch 关键字 众所周知, switch 关键字用于流程控制: 可以基于一个对象进行匹配,并通过 case 关键字产生分支语句,进行不同的逻辑处理。其中有一个非常值得注意,使用者很容...
admin的头像-五八三admin2年前
060
Kotlin中的lambda从入门到进阶-五八三

Kotlin中的lambda从入门到进阶

欢迎关注 「Android茶话会」  回 「学习之路」 取Android技术路线经典电子书 回 「pdf」 取阿里&字节经典面试题、Android、算法、Java等系列武功秘籍。 回 「天涯」 取天涯论坛200+精彩...
admin的头像-五八三admin2年前
060
心遇 Android 启动优化实践:将启动时间降低 50%-五八三

心遇 Android 启动优化实践:将启动时间降低 50%

图片来自:unsplash.com/photos/_2mL… 本文作者:ZZG 前言 作为 APP 体验的重要环节,启动速度是各个技术团队关注的重点。几百毫秒启动耗时的增减都会影响用户的体验,并直接反应在留存上。心...
admin的头像-五八三admin2年前
0270
安卓动画组合拳:创意示例带您掌握动画效果开发技巧-五八三

安卓动画组合拳:创意示例带您掌握动画效果开发技巧

引言 作为一个开发安卓app的程序员,经常需要在app界面作出各式各样的动画效果,所以如何让我们开发的动画效果尽可能的贴近产品给出的需求(样例)是一件蛮基础但又很重要的事情,接下来,我会...
admin的头像-五八三admin2年前
020
来个面试题,看看你对 kotlin coroutine掌握得如何?-五八三

来个面试题,看看你对 kotlin coroutine掌握得如何?

给出下面代码: lifecycleScope.launch(Dispatchers.IO) { val task1 = async { throw RuntimeException('task1 failed') } val task2 = async { throw RuntimeException('task2 failed') } try...
admin的头像-五八三admin2年前
0100
RecyclerView 实现WheelView和省市区多级联动-五八三

RecyclerView 实现WheelView和省市区多级联动

前言 滚轮经常在选择中用到,主要包括类型选择、省市区联动选择、年月日联动选择等。 项目中的WheelView一般都是ScrollView+LinearLayout组合完成的。 但是自定义起来比较复杂,也有一些优秀的...
admin的头像-五八三admin2年前
030
Android性能优化系列篇(三):崩溃优化+卡顿优化-五八三

Android性能优化系列篇(三):崩溃优化+卡顿优化

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第5天,点击查看活动详情 前言 汇总了一下众多大佬的性能优化文章,知识点,主要包含: UI优化/启动优化/崩溃优化/卡顿优化...
admin的头像-五八三admin2年前
0810
源码分析系列:app启动流程-Application&Activity的创建-五八三

源码分析系列:app启动流程-Application&Activity的创建

作为一个Android开发者,不了解Android启动流程,app启动流程,难免有点掉相,而且面试中也是经常被问到这一块的内容,掌握这些知识必将为自己增加竞争的筹码。之前断断续续看了一些文章,但大...
admin的头像-五八三admin2年前
0110

从一个bug开始,理解Fragment和ViewPager2的状态恢复流程

在使用Fragment和ViewPager2时遇到了一个奇怪的bug,于是顺藤摸瓜学习了一下Fragment和View的状态保存恢复流程,解决方法在最后面,对源码解析不感兴趣的可以直接前往 首先看一下崩溃调用栈 jav...
admin的头像-五八三admin2年前
0190
协程 了解Job的生命周期和用法-五八三

协程 了解Job的生命周期和用法

协程 了解Job的生命周期和用法 前言 在前面的文章中,我们学习了协程的基本概念,以及如何使用launch和async函数来创建和启动协程。但是,创建和启动协程并不是协程的全部,我们还需要知道如何...
admin的头像-五八三admin2年前
0120
从实体按键看 Android 车载的自定义事件机制-五八三

从实体按键看 Android 车载的自定义事件机制

在汽车数字化、智能化变革的进程中,越来越多的车机设计或部分、或全部地舍弃了实体按键,进而把车主操作的入口转移到了车机 UI 以及语音助手。 但统一、高效的零层级 UI 颇为困难,语音的准确...
admin的头像-五八三admin2年前
0200
Android开发合理使用图片的实践指南-五八三

Android开发合理使用图片的实践指南

写在前面 文件前面部分涉及大量证明与探索相对枯燥(但干货满满),若只关注最佳实践可跳至最后一节阅读。 Andorid 客户端项目中不可避免地使用各种图片资源,按来源分: 本地原始资源:assets...
admin的头像-五八三admin2年前
0200
聊聊LayoutInflater以及inflate方法-五八三

聊聊LayoutInflater以及inflate方法

引言 布局(Layout)和视图(View) 当进行Android应用程序开发时,布局(Layout)和视图(View)是两个核心概念。它们在Android界面设计和用户界面开发中起着重要的角色。 视图( View )布局( Layou...
admin的头像-五八三admin2年前
090