<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[performance]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/realDonaldTrump</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; realDonaldTrump]]></copyright><item><title><![CDATA[Android bpf简单上手教程]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/130345419</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/130345419</guid><author>realDonaldTrump</author><pubDate>Wed, 23 Aug 2023 20:08:31 +0800</pubDate><description><![CDATA[3D LUT按照面划分就是16x16x16，32x32x32，64x64x64，256x256x256......，我们知道面由线段围成，而一根线段有两个端点，因此一个3D LUT按照端点来计算深度，那么就有17x17x17，33x33x33，65x65x65，257x257x257的表示方法。如前述，3D LUT有不同的文件格式，不同的文件格式有不同的使用方式和性能表现，在工业界平台的技术栈和性能要求，对3D LUT的文件格式的选型有决定性的影响。蓝色是固定不变的，只会随着小方片的序号的增长而增长。]]></description><category></category></item><item><title><![CDATA[Android BatteryStats服务功耗统计流程详解]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/131263385</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/131263385</guid><author>realDonaldTrump</author><pubDate>Sat, 17 Jun 2023 18:31:08 +0800</pubDate><description><![CDATA[BatteryStatsService和BatterStatsImpl是系统中用于估算电流消耗的关键对象，能够估算并存储软件功耗和硬件功耗。其中主要流程分为事件回调时记录耗电信息、触发读取时计算并统计耗电信息两大流程。本文介绍耗电信息的读取和统计过程。BatteryStatsService从系统各服务、驱动节点、Linux文件系统节点中取得的数据，在需要时，通过BatteryStatsImpl.refresh()取出、过滤、计算。其中，按照App电耗、硬件电耗两大部分来分别计算。]]></description><category></category></item><item><title><![CDATA[Android后台驻留：保活和回收的机制]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/131021575</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/131021575</guid><author>realDonaldTrump</author><pubDate>Sat, 03 Jun 2023 15:12:13 +0800</pubDate><description><![CDATA[可以说，Android本身的管理机、提供的组件间通信功能，叠加App们的流氓行为，可以说后台驻留、拉起唤醒是防不胜防的，实现较好的后台驻留管理需要较高的投入，且对系统稳定性、App基本功能的影响较大，是高投入高难度的研究方向。其中，App互拉唤醒和保活的机制，让force-stop机制做不到太好的效果，其"STOPPED"实现的类似的轻度冻结状态几乎报废，也是各大ROM厂商在后台管理部分大展身手的重要因素。为了实现好的功耗、续航、性能，就需要在应用唤醒、冻结、暂停执行等方面下功夫了。]]></description><category></category></item><item><title><![CDATA[Android性能优化：getResources()与Binder交火导致的界面卡顿优化]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/128973930</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/128973930</guid><author>realDonaldTrump</author><pubDate>Fri, 10 Feb 2023 17:16:42 +0800</pubDate><description><![CDATA[Android性能优化：binder调用导致的界面卡顿]]></description><category></category></item><item><title><![CDATA[Android单条日志太长导致被截断的问题分析和解决]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/128468204</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/128468204</guid><author>realDonaldTrump</author><pubDate>Wed, 28 Dec 2022 14:32:01 +0800</pubDate><description><![CDATA[注意，单条日志长度上限是指一次打印的日志的长度，不是指设置-开发者选项-日志缓冲区大小。指令可以读到各个分类的缓冲区上限、目前用量、每次读取量、单条日志长度的上限。注意，这里指的是单条日志太长了被截断了，不是指日志太多了被冲掉了。输出查阅日志，但有时日志很长，可能会被截断，显示不完整。本文研究日志被截断的原因，并给出修改方法。不同Android版本在不同位置，，推入设备，重启方能生效。通常在Android中使用。]]></description><category></category></item><item><title><![CDATA[紫光展锐展讯SPRD刷机包pac文件解包提取img步骤]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/127256348</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/127256348</guid><author>realDonaldTrump</author><pubDate>Tue, 11 Oct 2022 08:56:13 +0800</pubDate><description><![CDATA[紫光展锐展讯SPRD刷机包pac文件解包提取img文件。]]></description><category></category></item><item><title><![CDATA[Android Jack-Server多用户编译时Communication error with Jack server (60), try ‘jack-di]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/127204129</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/127204129</guid><author>realDonaldTrump</author><pubDate>Sat, 08 Oct 2022 10:28:08 +0800</pubDate><description><![CDATA[无法连接，它可能正在被服务器内的其他用户使用。]]></description><category></category></item><item><title><![CDATA[android::String8与Java String对比]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/126426981</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/126426981</guid><author>realDonaldTrump</author><pubDate>Fri, 19 Aug 2022 16:10:55 +0800</pubDate><description><![CDATA[【代码】android::String8与Java String对比。]]></description><category></category></item><item><title><![CDATA[Android系统编译优化：使用Ninja加快编译]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/126232503</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/126232503</guid><author>realDonaldTrump</author><pubDate>Mon, 08 Aug 2022 17:42:12 +0800</pubDate><description><![CDATA[除此之外，一些不会更新源码、编译配置等文件的内容的操作，如touch、git操作等，会被Android系统编译工具识别为有差异，从而在编译时重新生成编译配置，重新编译并没有更新的源码、重新生成没有差异的中间文件等一系列严重耗时操作。其中，一些阶段（图中时间占比较长的几条记录）没能跑满资源的原因是这些编译目标本身不支持并行，且本次编译命令指定的目标已经全部“安排”了，不需要调动更多资源启动其他编译目标的工作。耗时占比很大，它的任务是遍历源码树，收集所有的编译配置文件，经过验证和筛选后，将它们解析并转化为。..]]></description><category></category></item><item><title><![CDATA[Android动态日志ProtoLog简介和使用]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/126095631</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/126095631</guid><author>realDonaldTrump</author><pubDate>Mon, 01 Aug 2022 10:14:34 +0800</pubDate><description><![CDATA[本文是对ProtoLog的基本说明，包括对ProtoLog的使用、Group的定制，以及ProtoLog框架的结构。ProtoLog是AndroidR(Android11)开始引入的全新的日志框架，它在性能、开销和灵活程度上有明显的提升，是一套全新流程的日志框架，它主要在WindowManager体系中使用，并有可能推广到Android系统层的其他部分。它的一大特点是能够根据Group分类来动态启停指定类别的日志打印，这使系统层初步具备了动态日志精妙绝伦的日志数据量压缩机制（虽然并不是什么新技术）。...]]></description><category></category></item><item><title><![CDATA[LLDB远程调试Android：LLDB命令速查参考手册Handbook]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/125398314</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/125398314</guid><author>realDonaldTrump</author><pubDate>Tue, 21 Jun 2022 20:52:10 +0800</pubDate><description><![CDATA[Github博客位置： https://nasdaqgodzilla.github.io/2019/02/24/LLDB%E8%BF%9C%E7%A8%8B%E8%B0%83%E8%AF%95Android%EF%BC%9ALLDB%E5%91%BD%E4%BB%A4%E9%80%9F%E6%9F%A5%E5%8F%82%E8%80%83%E6%89%8B%E5%86%8CHandbook/
后台运行：
Host端连接lldb server


Host端附加remote Android进程

附加进程（P]]></description><category></category></item><item><title><![CDATA[MobaXterm设置默认文本编辑器set default text editor]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/108997476</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/108997476</guid><author>realDonaldTrump</author><pubDate>Sat, 10 Oct 2020 15:08:44 +0800</pubDate><description><![CDATA[当前默认文本编辑器由以下三个有优先级关系的三个变量控制：
$GIT_EDITOR
$VISUAL
$EDITOR


修改：
export GIT_EDITOR=/bin/vim
即可将默认编辑器修改为vim。



]]></description><category></category></item><item><title><![CDATA[Android Recovery流程分析 OTA安装基本架构]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/106759461</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/106759461</guid><author>realDonaldTrump</author><pubDate>Mon, 15 Jun 2020 11:50:42 +0800</pubDate><description><![CDATA[文章目录Recovery升级准备流程OTA安装流程Recovery执行升级多进程/线程架构update-script、updater-binary与system.patch.dat、system.transfer.list
Recovery升级准备流程

OTA应用调用Framework内提供的系统接口RecoverySystem.installPackage()后，在/cache/recovery/block.map中写入升级信息。该文件将会在设备重启时，由启动引导程序读取内容，并根据内容启动为recov]]></description><category></category></item><item><title><![CDATA[Android如何在user版本中获取root权限]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/105636652</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/105636652</guid><author>realDonaldTrump</author><pubDate>Mon, 20 Apr 2020 15:45:42 +0800</pubDate><description><![CDATA[2020年4月20日15:30:27

步骤

刷入对应的eng或userdebug版本的boot.img
重启后adb root、adb remount、adb disable-verity等多试几次
root后进入shell就是su，不需要执行su获取权限

注意

一般来说，boot.img不容易被改动，同一个型号的机器多个不同版本可能通用
对于打开了系统安全功能的情况，刷入boot.im...]]></description><category></category></item><item><title><![CDATA[Android ADB 命令大全对照表]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/105493256</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/105493256</guid><author>realDonaldTrump</author><pubDate>Mon, 13 Apr 2020 17:21:19 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[如何在一个无Context的java class类中获取context、获取所在的package、activity；无context时不依赖context发送广播;获取java类所在的context]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/105297543</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/105297543</guid><author>realDonaldTrump</author><pubDate>Fri, 03 Apr 2020 17:26:51 +0800</pubDate><description><![CDATA[2020年4月3日17:08:18

文章目录背景code
背景

一些class，本身没有context成员用以保存调用者的context或application，也不像Fragment那样可以直接getActivity()，在不改动调用者调用参数（向这个需要使用context的class传递context）的前提下，能不能做到获取调用者Activity。

code

获取context

...]]></description><category></category></item><item><title><![CDATA[RK3288 RK3368 瑞芯微RK系列Android生成OTA差分升级包]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/104941373</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/104941373</guid><author>realDonaldTrump</author><pubDate>Wed, 18 Mar 2020 11:51:48 +0800</pubDate><description><![CDATA[一、OTA完整包生成方法
OTA完整包可用于T卡本地升级和OTA在线升级。OTA完整包包含完整的system、recovery.
和boot.img。
发布一个版本固件正确顺序：
make -j4
make otapackage
./mkimage.sh ota
注意：发布固件必须使用./mkimage.sh ota，将boot与kernel打包，不需要单独烧kernel，如果量产固件是分开的，将...]]></description><category></category></item><item><title><![CDATA[android通过adb截取屏幕、录制屏幕 screencap screenrecord]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/104857756</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/104857756</guid><author>realDonaldTrump</author><pubDate>Sat, 14 Mar 2020 11:55:45 +0800</pubDate><description><![CDATA[$ adb shell screencap /sdcard/screen.png

$ adb shell screenrecord --verbose /sdcard/demo.mp4

生成的文件依然保存在设备中，用adb pull可以获取。

]]></description><category></category></item><item><title><![CDATA[dumpsys activity用法汇总]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/104857614</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/104857614</guid><author>realDonaldTrump</author><pubDate>Sat, 14 Mar 2020 11:49:09 +0800</pubDate><description><![CDATA[2020年3月14日11:21:04

一、 概述
1.1 dumpsys 命令用法
可通过 dumpsys 命令查询系统服务的运行状态 (对象的成员变量属性值)，命令格式：dumpsys 服务名， 例如：
dumpsys activity 
dumpsys window 
dumpsys cpuinfo 
dumpsys meminfo

可查询的服务有很多，可通过下面任一命令查看当前系统所支...]]></description><category></category></item><item><title><![CDATA[Android源码编译App Android.mk出现无法import aidl AIDL的接口找不到cannot import]]></title><link>https://blog.youkuaiyun.com/realDonaldTrump/article/details/104374430</link><guid>https://blog.youkuaiyun.com/realDonaldTrump/article/details/104374430</guid><author>realDonaldTrump</author><pubDate>Tue, 18 Feb 2020 14:12:57 +0800</pubDate><description><![CDATA[Android.mk添加以下内容即可
LOCAL_SRC_FILES := $(call all-java-files-under,app/src/main/java)
LOCAL_SRC_FILES += $(call all-Iaidl-files-under,app/src/main/aidl/android/os)
LOCAL_SRC_FILES += $(call all-Iaidl-f...]]></description><category></category></item></channel></rss>