- 博客(147)
- 收藏
- 关注
原创 Android Studio 出现 Unrecognized Windows Sockets error: 5: connect 或 Connect timed out 问题
在根目录下的 gradle -> gradle-wrapper.properties。这里就是这个项目所配置的 gradle 版本,记住这个版本(例子为 8.6-bin)然后重新在 Android Studio 上 Sync 就可以了。2、自行下载对应的 gradle 版本放到本地的环境当中。在这里找到项目的 gradle 版本,点击就会自动下载了。从 github 上拉取的项目偶尔会出现这两个问题。都是下载对应的 gradle 版本失败所导致的。1、科学上网(一般都能解决了)
2024-05-09 15:10:41 94
原创 KMP + Compose 跨平台 Android IOS 实战入门
通过 KMP + Compose 框架,我们可以编写一次代码,然后在不同的平台上进行部署和运行,大大提高了开发效率和代码重用性
2024-05-08 20:21:29 305
原创 Android Perfetto 监控应用启动耗时
在实际的开发过程中,做启动优化和监控单纯靠 Traceview 是不太准确的,因为 Traceview 获取的信息比较局限,而 Perfetto 能站在上帝视角来查看应用的启动过程。
2024-04-23 16:35:32 449 2
原创 Android(Kotlin) 委托(by) 封装 SharedPreferences
使用委托可以提高代码的灵活性和可读性,减少样板代码的编写,提高代码的复用性和可维护性。
2024-04-08 18:33:22 382 1
原创 Android RecycleView 异步缓存 itemView 提升滑动性能
最近在做性能检测的过程当中,设置了多布局的 RecyclerView 在快速滑动中会有一些卡顿,所以将解决方案在此文记录一下
2024-04-01 17:10:46 466 1
原创 Android ANR 日志分析定位
/data/anr/ 路径只有 root 权限才能够进行访问,在非 root 权限的情况下需要 adb 命令导出相关的日志文件后筛选查看 ANR 的日志信息
2024-03-01 17:53:33 800
原创 Android TextView.setText() 引发的卡顿问题
最近在检测性能中,发现 RecycleView 在滑动过程中的TextView.setText() 有一些耗时,从主观上体验也会有一点卡顿,然后进入源码看看是怎么回事
2024-02-21 12:00:23 1291
原创 Android String.format() 引发的卡顿问题
最近在检测应用的性能时,发现在短时间内大量调用 String.format() 时会引发卡顿,所以马上进入源码看看有没有哪里能够优化的
2024-01-31 14:47:59 530
原创 Android Studio 下载安装配置使用入门【2024年最新】
Android Studio 是谷歌官方提供的主要集成开发环境(IDE),专为 Android 平台应用开发而设计。
2024-01-29 21:48:44 1707
原创 Android imageView.setImageXXX() 引发的卡顿问题
最近在检测应用的性能时,发现 imageView 在加载图片竟有一些耗时,于是进入源码来看看这几个给 imageView 设置图片的方法都有什么区别
2024-01-29 16:27:17 682
原创 Java 四大引用
Java 中的四大引用类型是指 JVM 提供的四种不同生命周期的引用类型,这些引用类型主要用于帮助我们更好地控制对象的生命周期,尤其是在内存管理和垃圾回收方面。
2024-01-23 15:30:52 389
原创 Android Traceview 定位卡顿问题
Traceview 可以通过图形化界面查看应用程序的代码执行细节,包括每个方法的调用次数、方法调用的时间消耗、方法调用堆栈等信息。
2024-01-15 11:51:32 613
原创 Android readelf 工具查找函数符号
readelf 是一个用于显示 ELF 文件的信息的工具,它可以显示 ELF 文件的各个部分的详细信息,例如头部信息、节(section)表、符号表、动态重定位表等。
2024-01-08 12:19:40 808
原创 Android RecyleView 使用 Gilde 加载图片引发的卡顿问题
尽管 Glide 是一个非常优秀的图片加载框架,但是在RecyleView 上使用 Glide 加载图片还需注意性能问题
2024-01-04 14:22:53 873
原创 Android Compose Transition 动画
通过使用 Compose 的 Transition API,您可以在应用中创建各种各样的动画效果,从而增强用户体验并提高应用的吸引力。
2023-12-14 11:44:58 255
原创 Android 滥用 SharedPreference 导致 ANR 问题
ANR(Application Not Responding) 指的是应用程序无法在规定的时间内响应用户输入事件,导致应用失去响应并无法继续正常运行。
2023-12-11 20:54:29 267
原创 Kotlin 操作集合的高阶函数
这些高阶函数都是 Kotlin 标准库中预定义的函数,可以直接在代码中使用。Kotlin 标准库提供了大量的高阶函数,从而让编程变得更加简洁、灵活和易于维护。
2023-11-01 16:00:15 802
原创 Kotlin 作用域函数(apply、also、run、let、takeIf)
在 Kotlin 中,作用域函数是一组用来在特定作用域中操作对象的函数。它们允许在给定作用域内对对象进行属性赋值、方法调用、转换等操作,并返回相应的结果。
2023-09-12 19:36:13 329
原创 Android FileObserver 的使用与简要原理
需要注意的是,FileObserver 在底层的实现使用了 Linux 的特定功能,因此只能在 Android 上使用,而不适用于其他操作系统或平台。
2023-09-01 16:56:45 947
原创 Android AccessibilityService 实现《李跳跳》功能
AccessibilityService(无障碍服务)是 Android 操作系统中的一个功能,旨在帮助用户具有视觉、听觉或运动上的障碍更轻松地使用设备。
2023-07-11 16:45:43 3256 1
原创 Android Retrofit 源码解析
在 Android 开发中,Retrofit 是一个非常流行的网络请求库。它是由 Square 开发的,用于简化 Android 应用程序与网络服务器之间的通信。
2023-07-07 15:31:29 656
原创 Android Okhttp3 拦截器源码解析
在 OkHttp 中,拦截器(Interceptor)是一种强大的机制,用于在发送请求和接收响应的过程中,对请求和响应进行拦截、处理和修改。
2023-06-30 18:40:38 668
原创 Android Studio 配置 DCL 单例脚本
DCL(Double-Checked Locking)单例是一种用于创建单例对象的设计模式。单例模式是一种创建型模式,用于确保一个类只有一个实例,并提供全局访问点。
2023-06-26 10:47:12 789
原创 System.loadLibrary() 和 System.load() 的区别
System.loadLibrary() 和 System.load() 的区别
2023-06-19 12:56:29 1308
原创 Android LayoutInflater 监听单个控件渲染时长
通过调用 setFactory2() 方法并传递自定义的 Factory2 实例,可以拦截和修改 LayoutInflater 创建视图对象的过程。拦截后可以做任何想做的事,例如动态地改变视图的外观、行为或属性。
2023-06-14 11:33:19 370
原创 Android AsyncLayoutInflater 异步加载布局
AsyncLayoutInflater是 Android 提供的一个用于异步加载布局的工具类。可以在异步线程上加载布局文件,以避免在主线程上加载布局过于耗时而导致的 UI卡顿问题。
2023-06-13 17:55:59 2444
原创 Android FFmpeg 解码 OpenSL ES 播放音频
本篇文章仅仅是实现了 FFmpeg 和 OpenGL ES 配和播放媒体文件音频的功能,其中有非常多的细节没有去完善(比如函数错误返回值的处理、内存泄漏等等),因为我为了更好的阅读和理解 FFmpeg 和 OpenSL ES,对非主线代码做了删减,所以读者可以自行添加
2023-06-06 16:58:31 834 1
原创 Android 反编译工具 jadx-gui
jadx-gui是一种基于jadx项目的图形界面工具,用于反编译Android应用程序的工具。通过使用jadx-gui,开发人员可以打开APK(Android应用程序包)文件,并查看其反编译的源代码。
2023-06-05 14:20:41 2935
原创 Android ANativeWindow 渲染画面
通过使用 ANativeWindow 接口,开发人员可以直接与底层的图形系统交互,实现高性能的图像渲染和处理。它在游戏开发、图像处理和视频播放等领域中得到广泛应用。
2023-05-17 11:00:14 1369
原创 Android APK 反编译后重新打包并签名
Apktool 是一个逆向android非常有用的工具,可以用来反编译apk文件,并且能在修改部分资源文件后,重新打包成一个新的apk。
2023-05-04 17:56:49 1873
原创 Android OpenGL 渲染相机预览画面显示体系
在 Android 当中,运用的是OpenGL ES,它是OpenGL的一个轻量级版本,专门用于在移动设备、游戏控制台、嵌入式系统等嵌入式环境中使用。
2023-04-23 17:39:29 1076
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人