- 博客(68)
- 资源 (13)
- 问答 (2)
- 收藏
- 关注
原创 十年车机性能优化经验总结系列(二):实车调试——绑核与优先级
绑核、改调度、调 nice —— 在真机上把关键线程「钉」上大核,先验证有效,再固化进系统拿到性能快照、锁定目标线程后(见系列一),下一步是在真机上给它「开小灶」:绑到大核、改用实时调度、调高 nice 值。这套手法用来快速验证一个关键问题——「如果把关键线程扶上高性能通道,体验是不是真的变顺?」验证有效了,再固化进系统(见系列四)。
2026-07-31 00:30:00
53
原创 十年车机性能优化经验总结系列(一):性能数据采集与 bat 小工具
一条 bat 命令,10 秒拿到车机完整性能快照 —— 把零散的 adb 黑话打包成随手可跑的采集工具(总览)(一)性能数据采集(二)实车调试:绑核与优先级(三)代码设置优先级(Java/Native)(四)性能优化方案性能调优最怕「凭感觉改参数」。卡顿到底是 CPU 不够、内存吃紧,还是 GPU 掉帧?不采集、不量化,你永远在猜。本文把实车上最常用的几组 adb 命令整理成清单,并封装成一个一键 bat 小工具——插上设备、双击运行,10 秒拿到一份完整的车机性能快照。
2026-07-31 00:15:00
44
原创 十年车机性能优化经验总结系列(总览)
一套可复用的车机性能调优闭环方法论 —— 从量化现状、实车验证到代码固化,十年(实际4.5个自然年,算上加班十年)踩坑经验一次讲透本系列基于一份 Android 车机性能调优实战文档整理,目标是形成一套可复用的调优方法论与落地手段。
2026-07-31 00:00:00
30
原创 android:largeHeap 是最后的性能手段,而非 GC 优化的首选
本文揭示了android:largeHeap="true"的真相:它只是申请更高的堆内存上限而非直接增加内存,会降低GC频率但可能导致更长的停顿和更高被杀风险。适用场景包括图片/视频处理等大内存需求,但普通应用应优先优化对象分配(如使用对象池)。文章提供了Kotlin代码示例演示如何检测堆状态和响应内存压力,并附带Java对象池Demo展示复用效果。关键提醒:largeHeap是最后手段,需配合onTrimMemory释放资源,且存在厂商差异和审核风险,核心优化方向应是减少对象分配而非单
2026-07-30 22:00:00
103
原创 @IntDef 替代 enum:Android 官方推荐的轻量常量方案
本文介绍了Android开发中慎用enum的原因,并推荐使用@IntDef注解作为替代方案。enum在Android中占用较多内存和DEX空间,而@IntDef通过编译期类型检查实现类似效果,几乎零开销。
2026-07-29 23:00:00
315
原创 车机主流芯片龙鹰一号8155/8295/8775/8797算力基础知识与技术分享
本文目标是建立对车机芯片算力(KDMIPS)的直观认知,并给出一套可落地的换算方法,把top命令显示的 CPU 百分比转换为绝对算力(KDMIPS),用于进程性能评估与芯片选型。主流座舱芯片 CPU 算力从 SA8155P 的 ~105K 到 SA8797P 的 ~560K DMIPS,约 6 年提升5.3 倍。绝对算力(K) = CPU% × (总算力K ÷ 核数)。工程估算需打0.7~0.8 折(效率折损),并预留15~30%安全余量。绝对算力(K) = CPU% × (总算力 ÷ 核数)
2026-07-28 09:43:10
263
原创 VSCode 运行 Live Server 提示「Windows 找不到文件 Chrome」问题全解析
0.VSCode提示1.解决办法"liveServer.settings.AdvanceCustomBrowserCmdLine": "C:/Users/Administrator/AppData/Local/Google/Chrome/Application/chrome.exe",
2026-07-28 09:36:08
206
原创 如何让一个TextView无限显示字符串而不发生ANR(ArrayDeque详解)
实时日志、行情、聊天消息……很多场景都要让一个TextView持续不断地"吐"出字符串。但 naive 写法跑一会儿就甚至。本文用ArrayDeque做有界滚动缓冲, 配合主线程限频批量刷新,既能"无限"显示,又绝不卡死。顺带把ArrayDeque的 4 个高频坑一次讲清。
2026-07-28 09:30:34
363
原创 App 在后台,怎么知道自己离被系统“杀掉“还有多远?
一篇关于 Android 进程内 OOM 风险监控的内部技术分享:从 hidepid 机制一路讲到 lmkd 的 SIGKILL,再到 Android 17 的内存治理,并给出一套可落地的监控代码骨架。
2026-07-28 09:28:30
358
原创 Android面试题整合(待完善)
一.Activity生命周期onCreate->onStart->onResume->onPause->onStop(onRestart )->onDestroy打开AAct再调到BAct 生命周期过程依次走A的onCreate,onStart,onResume(打开A的生命周期),onPause(调到B)B的onCreate,onStart,onResume然后A的onStop二.Activity启动模式1.standard,每打开一个,任务栈里面就有一
2021-11-14 11:32:22
2533
原创 一些好用的精品小软件
如题,分享一些纯个人制作的精品小软件,现在的软件都太大了大部分都不超过1M,功能单一好用且不怎么占内存,没有什么花里胡哨的东西任意文字生成二维码:输入任意文字点击生成,即可生成二维码,且可保存到手机相册随意操作(如分享到QQ微信),已兼容到Android11毒鸡汤:一个显示一句毒鸡汤类型的话,点一下刷新一句,背景颜色变一下;兼容深色主题民法典:就是一本电子民法典的书,包含了搜索,导航跳转等比较方便的功能lockscreen:就是一个一键锁屏的功能,部分手机没有这个功能,必须按物理按.
2021-11-03 09:06:56
4651
原创 Android应用性能优化 - 开篇
Android技术优化日异月新,谷歌在GoogleI / O 2018 上终于发布了Android 9.0,系统性能也已经非常流畅,在我看来已远超某果(哈哈其实是因为我是穷逼用不起某果),但是由于国内各大厂商都会自己定制系统,然后就你懂的,当然不排除部分厂商确实做了一些优化,当然不包括某米,虽然我是某米粉丝,但是系统确实做的稀烂;在如此背景之下,Android应用性能优化显得更加重要了。我总结的主要以下几个方面进行优化: 一.安装包大小优化俗称的APK瘦身,个人觉得...
2021-08-07 12:56:32
497
转载 免root ADB命令卸载系统预装应用
转载地址:https://www.jianshu.com/p/e9434e7f86ea首先要知道系统预装的应用分3种:不可卸载 这部分没有 root 权限,是不能卸载的。比如 Phone、Message、Calendar 等。 可卸载,可恢复 这部分没有 root 权限,用户也可以卸载,但恢复出厂后又会回来。比如 EMUI 预置的很多第三方的 APP。 可卸载,不恢复 这部分预置在 data 分区,data 分区是用户存储数据的分区,恢复出厂清空数据时也会清理掉这部分 APP。这种情况一般
2020-10-20 15:18:01
10400
5
原创 Android 应用构建速度提升Gradle配置优化
0.使用最新版本的 Android Gradle 插件找到项目跟目录的build.gradle1.避免激活旧版的 MultidexminSdkVersion 21(或大于21)(21 之前的 API 级别并没有原生的支持 multidex)2.禁用 Multiple APK 构建if (project.hasProperty('devBuild')) { splits.abi.enable = false splits.density.enable =
2020-10-08 15:22:00
1214
原创 解决蓝奏云的文件分享链接打不开的问题
0.问题描述经常上吾爱破解下载一些去广告的软件,某日发现家里电脑怎么都打不开蓝凑云的链接了,心急如焚啊,各种百度、Google均无果,最后只能瞎几把试了,没想到解决了1.其他解决方案重启路由器和调制解调器,查看一下路由有没有屏蔽这个网站或者ip。 清除IE缓存,删除所有Cookies,打开IE窗口工具-Internet选项-安全-受-限-制-的站点 打开IE窗口工具-内容-分级审查-启用 拉到0 更改DNS:谷歌:8.8.8.8和8.8.4.4 纯净无劫持DNS服务:114.114.114
2020-09-27 15:47:47
30999
原创 史上最小最优的Apk.1安装器
安卓手机每次在微信收发Apk都会默认加个.1的后缀, 导致无法安装, 必须安装QQ浏览器才可以解决; 有了我的这个APP, 不用安装QQ浏览器, 也可以在微信上正常安装Apk了,并且安装包才不到17K.下载链接:https://wwe.lanzous.com/iAs3Lgmxgeb...
2020-09-15 11:55:53
2397
转载 Tint·着色——xml新属性
https://www.jianshu.com/p/563165534bc2什么是Tint?过去我们用图片来给控件着色,设置背景、内容什么的,而Tint就是给图片着色的。所以,注意了:没有图片而空有tint属性是不会生效的,例如没有设置背景图,而设置了背景Tint。有什么用?设置不同的theme,或是别的什么用途,需要大量相同唯有颜色不同的图片,图片大量重复,还增加了apk的大小,但是有了tint,就可以轻松改变图片的颜色。都有哪些Tint?根据控件不同,其x
2020-06-12 15:42:19
329
原创 Android插件的1234....
0.问题抛出在Android里我们说的插件到底指的是什么,表达是否准确?1.Android插件的种类a.Android Studio插件针对Android Studio这个IED的插件,一般可以帮你写代码或格式化等,与你编译或打包时的代码没关系个人觉得好用的11个插件推荐:1.GsonFormat:快速将json字符串转换成一个Java Bean,免去我们根据json字符串...
2020-05-05 15:15:59
291
原创 最简洁的方式实现圆形ImageView + 呼吸动画
0.代码实现private void initShotAnim(ImageView iv) { AnimatorSet animatorSet = new AnimatorSet(); ObjectAnimator animatorX = ObjectAnimator.ofFloat(iv, "scaleX", 1f, 1.2f, 1f); O...
2020-04-27 17:22:16
1148
转载 装机不求人,10 分钟电脑配置挑选速成攻略
导读去年的这个时间,我发布了这篇《电脑配置挑选速成攻略》的文章,电子产品发展变化速度极快,一年过去了, 有一些内容已经老旧过时。正巧国庆节马上要到来了,很多人都会有购机需求,于是有了今天的《电脑配置挑选速成攻略 2.0》 版本。看完这篇文章保准你去电脑城不给奸商骗,还能在帮妹子选电脑的时候,你拍着胸口说“妹砸,放心!这事包在我身上,保准既好用又便宜”。本文面向广大装机用户,属于科普文章,...
2020-04-16 09:49:23
1255
原创 Android Studio模板Live Templates(常用)定制 下
0.接着上篇讲(图0)1.kotlin 生成start图0中3的位置输入companion object { fun start(context: android.content.Context) { val intent = android.content.Intent(context, $ACTIVITY$::class.java) c...
2020-04-15 16:33:57
442
原创 VSCode配置Java(JDK),Git
0.下载安装VSCode,JDK,Git1.配置环境变量计算机(右击) > 属性> 高级系统设置 > 环境变量 > 系统变量下的Path > 编辑a.Git全局配置新建添加你的Git下的cmd路径,然后确定即可。如:D:\Program Files\Git\cmd(自己安装的实际路径)b.jdk环境变量添加,如下图:新建>输入JA...
2020-02-05 10:23:33
7708
1
原创 记一个Google官网Android Studio预览版和金丝雀版本下载的Bug
Android Studio的新版本与旧版本对比总是充满了诱惑于是总是想用最新的,进入官网会看到这个界面然而你会发现这两个按钮都™点不了,还是用的Google的Chrome浏览器,当然换其他浏览器当然还是不行,这时候点右上角把语言切倒换English,再点就可以了。再点击下载,就会到以下界面。。。坑啊...
2019-10-25 10:21:49
366
1
原创 Android 四种启动方式个人理解简洁表达
0.Android 四种启动方式有什么区别?(standard singleTop singleTask singleInstance)设置方法(manifest中Activity注册的属性里):android:launchMode="singleTop"1.standard,每打开一个,任务栈里面就有一个(把任务栈看成一个弹夹,Activity看成子弹,在最上面的子弹肯定最先打出去)...
2019-09-23 18:32:59
225
原创 Android一行代码设置字符串中部分关键字高亮
0.需要的效果1.实现 /** * * @param str 全部的字符串 * @param needHighStr 需要高亮的字符串 * @return 这里默认高亮的是屎黄色,需要自定义时,再添加重载的方法吧 */ public static Spanned highStr(String str, String...
2019-04-04 11:40:52
1227
原创 java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
0.标题就是01.解决办法a.通过后台生成正规合法的https证书,存在assets中,进行应用验证,这里又分为单向验证和双向验证,这是最根本的解决办法!具体请移步b.信任所有证书在Application的onCreate方法中添加:/** * 忽略OKHttp所有证书验证(信任所有证书) */ private void handleSSLHa...
2019-03-01 17:56:46
4667
原创 Android AOP入门配置及实战
0.概念 先上干货实战项目AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性...
2019-03-01 14:20:45
379
原创 Android Studio模板Live Templates(自动生成Activity的启动方法)定制 上
0.快速生成常用代码,效果如下确定后:1.定制方法打开设置找到LiveTemplates,点击右边的+号可以先建一个模板的组,再建模板点了建模板后看到这个界面再图中1的位置输入缩写,2的位置输入描述,3的位置输入要生成的代码public static void start(android.content.Context context) { a...
2019-02-02 15:03:54
717
原创 常用第三方库的基本使用
0.场景今天想自己做点新东西,发现一个常用的第三方库忘记了怎么使用了,不能每次都去百度吧。。。1.多Tab页 com.flyco.tablayout:FlycoTabLayout_LibXML中: <com.flyco.tablayout.CommonTabLayout android:id="@+id/tl" android...
2018-10-24 17:12:50
470
原创 两行代码解决Android9.0 CLEARTEXT communication not supported: [ConnectionSpec...
0.问题抛出Android9.0机器,项目 targetSdkVersion 28使用鸿洋大佬的网络请求会报一下错误: 1.快速解决方案来源于玩Android群里的小刚大佬提供的方法<application android:networkSecurityConfig="@xml/network_security_config"...新建 re...
2018-10-16 16:14:40
3308
2
原创 Android实现高斯模糊背景对话框
0.需要的效果<-图一 <-图二1.实现先写一个dialogimport android.app.Activity;import android.app.Dialog;import android.content.Context;import android.view.Gravity;import android.view.View;impor...
2018-08-02 12:54:28
7788
21
原创 Android中利用泛型返回任意类型的测试数据
0.场景 开发时,等接口经常要写测试数据,每次new ArrayList(),又是还要new 所需的Bean对象,似乎代码没多少,但是我懒啊。。。1.解决办法创建一个工具类,名字随便取,这里贴下关键代码,一看便会了 //这个太简单了就不写注释了 public static List<String> testData(int count){ List<S...
2018-07-05 14:51:13
2208
原创 对org.gradle.api.tasks.TaskExecutionException解决的终极办法
0.产生的原因: a.操作不慎; b.多人开发,别人添加或删除了依赖、jar、aar; c.可能姿势不对吧。1.解决的办法: a.clean rebuild b.清缓存重启AS c.手动删项目下所有的build 文件夹(包含根目录的build、app下面的build、你所使用的moudle(Library)下面的bui...
2018-06-27 17:31:08
42147
5
原创 个人感悟及整理的面试要点
0.前言 因为换城市、换工作的缘故,差不多三个月没写博客了,其实一直想写一写高质量的日志,奈何文采有限、知识有限。所以还是以量变引起质变的方式来提升自己,多写多写多写。。。 之前做过差不多一年的Android面试官,这一篇就谈谈面试相关的。1.个人觉得很重要的软知识 a.面试前多做准备,这个是必须的 b.不知道的不要瞎说,或者让面试官换个问题(切记这一点很重要) c....
2018-06-20 12:01:45
703
原创 人工智能学习-高等数学
0.学习的时候心理上藐视它,将它称之未低等数学 因为它是所有高等数学的入门课程(线性代数/慨率论)1.存款r = 100%(利率:存一年就变成200)100(1+50%)^2 = 225(存半年的是取出来再存:一年拆成两个半年)100(1+1/4)^4 = 244(存一个季度取出来再存:一年拆成4个季度)……假如银行允许无限拆分会不会无穷大呢?不会。最大数:271.828 元自然对数的底:e...
2018-06-20 10:54:12
1554
1
转载 5分钟搞定Android混淆
前言混淆是上线前挺重要的一个环节。android使用的ProGuard,可以起到压缩,混淆,预检,优化的作用。但是很多童鞋还没有掌握正确的写混淆文件的姿势。我希望搞个模板化的东西,让大家轻松搞定混淆。那么,开始写一个项目的混淆吧。。。我是不是很直接。。。。五步搞定1打开项目中的proguard-rules.pro,将下面的代码复制进去。我的思路是将混淆分为2个主要部分定制化区域。这里边的内容是我们...
2018-06-20 10:48:17
261
转载 对标小程序 ? "快应用"开发入门指南
本文已在我的公众号:hongyangAndroid原创首发;本文来源wanandroid转载请标明出处:http://www.wanandroid.com/blog/show/2092一、快应用的出现3月20日,中国通信院等协会联合包括小米、华为、OPPO等手机厂商,共同在北京正式发布名为「快应用」的新型应用形态协议。本来没怎么关注,不过就在今天,意外在小米、华为在看到了快应用的身影。当看到饿了么...
2018-03-22 11:43:24
566
转载 重磅!VirtualXposed,让你无需Root也能使用Xposed框架!
VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~8.1)。一直以来Xposed框架最大的入门难度就在于设备需要Root,然后还要Recovery,还有承担变砖的各种搞基风险,现在这一切都不用再担心了!感谢Xposed作者rov89,感谢VirtualApp作者asLody@github!源码地址:https://git...
2018-03-21 16:29:09
46694
2
爱普生打印服务插件APP
2017-11-22
三星打印服务插件(Android端使用的)
2017-11-22
华为打印服务插件APP
2017-11-22
【批量下载】约1K道经典Java&Android面试题和答案打包下载.zip
2020-02-23
Android Studio编译时No signature of method
2019-08-15
smack连接ejabberd怎么获取离线消息?
2016-02-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅