惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
WordPress大学
WordPress大学
罗磊的独立博客
S
Secure Thoughts
Schneier on Security
Schneier on Security
博客园 - Franky
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
爱范儿
爱范儿
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Hacker News: Ask HN
Hacker News: Ask HN
PCI Perspectives
PCI Perspectives
Google DeepMind News
Google DeepMind News
S
Security Affairs
SecWiki News
SecWiki News
博客园 - 聂微东
Security Archives - TechRepublic
Security Archives - TechRepublic
Google Online Security Blog
Google Online Security Blog
H
Heimdal Security Blog
S
Security @ Cisco Blogs
Engineering at Meta
Engineering at Meta
C
CXSECURITY Database RSS Feed - CXSecurity.com
Cloudbric
Cloudbric
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
V
Visual Studio Blog
P
Proofpoint News Feed
Project Zero
Project Zero
T
Threat Research - Cisco Blogs
Webroot Blog
Webroot Blog
Blog — PlanetScale
Blog — PlanetScale
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
W
WeLiveSecurity
Last Week in AI
Last Week in AI
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
M
MIT News - Artificial intelligence
有赞技术团队
有赞技术团队
S
Securelist
GbyAI
GbyAI
Application and Cybersecurity Blog
Application and Cybersecurity Blog
C
CERT Recently Published Vulnerability Notes
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Cyberwarzone
Cyberwarzone
B
Blog RSS Feed
P
Palo Alto Networks Blog
H
Hacker News: Front Page
D
Docker
雷峰网
雷峰网
Latest news
Latest news
Microsoft Security Blog
Microsoft Security Blog

Android Performance

SmartPerfetto 架构文章 Q&A:8 个深度技术问答 从 Trace 到洞察:SmartPerfetto AI Agent 的 Harness Engineering 实战 OpenClaw 常见问题解答:Token 消耗、能干什么、本地模型、隐私安全、使用体验 我把 OpenClaw 跑在本地三周后,发现它根本不是聊天机器人 Android Perfetto 系列 10 - Binder 调度与锁竞争 Android Perfetto 系列 9 - CPU 信息解读 Android Perfetto 系列 8:深入理解 Vsync 机制与性能分析 Android Perfetto 系列 7 - MainThread 和 RenderThread 解读 Android Perfetto 系列 6:为什么是 120Hz?高刷新率的优势与挑战 Android Perfetto 系列 5:Android App 基于 Choreographer 的渲染流程 Android Perfetto 系列 4:使用命令行在本地打开超大 Trace Android ANR 系列 3 :ANR 案例分享 Android ANR 系列 2 :ANR 分析套路和关键 Log 介绍 Android ANR 系列 1 :理解 Android ANR 设计思想 Android Perfetto 系列 3:熟悉 Perfetto View Android Perfetto 系列 2:Perfetto Trace 抓取 Android Perfetto 系列 1:Perfetto 工具简介 Android Perfetto 系列目录 2023 年的方方面面 关于 The Android Performance 知识星球介绍 The Performance Design Of OS OS 设计之性能设计 当 App 有了系统权限,真的可以为所欲为? The Performance 星球茶话会 - 第一期 Systrace 线程 CPU 运行状态分析技巧 - Sleep 和 Uninterruptible Sleep 篇 Systrace 线程 CPU 运行状态分析技巧 - Running 篇 Systrace 线程 CPU 运行状态分析技巧 - Runnable 篇 Android 性能优化的术、道、器 Techniques, Philosophy, and Tools for Android Performance Optimization 回顾 2021 一本讲 Android 流畅性的书,应该有什么内容? Android 系统开发系列(1):Android 12 源代码下载、编译和刷机 Android Systrace 响应速度实战 3 :响应速度延伸知识 Android Systrace 响应速度实战 2 :响应速度实战分析-以启动速度为例 Android Systrace 响应速度实战 1 :了解响应速度原理 Android Systrace 流畅性实战 3 :卡顿分析过程中的一些疑问 Android Systrace 流畅性实战 2 :案例分析 - MIUI 桌面滑动卡顿分析 Android Systrace 流畅性实战 1 :了解卡顿原理 华为手机刷微博体验更好?技术角度的一些分析和思考 一个「闰」字引发的事故 - 三星系统重启分析 Android App 链式唤醒分析 Android Systrace 基础知识 - SurfaceFlinger 解读 Android 开发者学习路线(2020 版本) 我的 2020 年读书单 Android Systrace 基础知识 - CPU Info 解读 Android Systrace 基础知识 - Triple Buffer 解读 Android Systrace 基础知识 - Binder 和锁竞争解读 「置顶」博客文章目录 Android Systrace 基础知识 - Vsync 解读 Android App 启动优化全记录 Android Systrace 基础知识 - MainThread 和 RenderThread 解读 Android Systrace 基础知识 - Input 解读 Android 中的“后台无效动画“行为分析 Android 基于 Choreographer 的渲染机制详解 Android 中的卡顿丢帧原因概述 - 低内存篇 Android 桌面被杀问题分析案例 Android 中的卡顿丢帧原因概述 - 应用篇 Android 中的卡顿丢帧原因概述 - 系统篇 Android 中的卡顿丢帧原因概述 - 方法论 Android 中的 Activity Launch Mode 详解 Android 中的 Hardware Layer 详解 Android Systrace 基础知识 -- 分析 Systrace 预备知识 Android Systrace 基础知识 - SystemServer 解读 Android Systrace 基础知识 -- Systrace 简介 Android Systrace 基础知识 -- Why 60 fps ? Android Systrace -- 系列文章目录 Android 新的流畅体验,90Hz 漫谈 利器 - 高效工具推荐 Android 无障碍服务导致的整机卡顿案例分析 2018 年度好物推荐 - 给辛勤工作的自己一点奖励 Android 系统开发源码环境搭建 陆奇:除了好代码,工程师怎样才算优秀? 程序员的修炼-08-阅读之美 程序员的修炼-07-游戏与编程 程序员的修炼-06-互联网那些事 程序员的修炼-05-了解你的用户 程序员的修炼-04-关于测试的一些思考 程序员的修炼-03-Web 设计原则 程序员的修炼-02-编程之道 程序员的修炼-01-绝地反击之术 Android 系统不释放内存吗? 关于 Android 系统流畅性的一些思考 知乎 救救你的 StartingWindow 「置顶」Android 性能优化必知必会 2017 年度好物推荐 - 给辛勤工作的自己一点奖励 Android Bottom navigation 规范二:样式、行为与规格 Android Bottom Navigation 规范一:使用方法 Android 中如何计算 App 的启动时间? Android 应用启动优化:一种 DelayLoad 的实现和原理(下篇) Android 应用启动优化 - 一种 DelayLoad 的实现和原理(上篇) Android hwui 中 RenderThread 工作流程 Java7 HashMap 源码分析 Android 代码内存优化建议 - OnTrimMemory 优化 Android 代码内存优化建议 - Android 资源篇 Android 代码内存优化建议 - Android 官方篇 Android 代码内存优化建议 - Java 官方篇 Nexus6 with Android M 开启多窗口模式 细说 Java 单例模式 Android 性能优化典范 - Profile GPU Rendering Android 性能优化典范 - Understanding VSYNC
2017
Gracker · 2017-04-23 · via Android Performance

一转眼就 2017 年了,算起来自己已经工作了快四年了,09年到威海上学,12年去上海实习,13年毕业后还是去了上海,14年进了珠海魅族,直到现在。

这博客从我毕业开始写东西,写写删删,也算是记录了一些东西,自己的工作内容也从 App 开发换到了系统 App 开发,在换到系统开发,也算是走了一圈,一些路程,记录下来,几年后再看看,怀念一下也是不错的。

这篇文章我记录了自己的博客、自己的工作、自己的工作内容、自己的工作习惯、还有对 2017 年的期望,有迷茫,也有奋斗。

17年已经过了 30% 了,希望还不算晚。

下文按四个”关于”展开:「关于博客」回顾这几年写写删删的心路,以及为什么写得越来越少;「关于工作」交代从 App 开发到系统 App 再到系统开发的转折;「关于工作内容」具体讲手头在做什么;「关于习惯」记录工作安排、工作记录、文章记录这三套自己常年在用的方法;最后是「关于 2017」对一年还剩 70% 的展望。

关于博客

看到上一篇博客文章的更新时间,已经是去年的这个月了,想想还真是惭愧,每次想动笔重新开始写一些东西的时候,总是由于这样或者那样的原因,没有动手去写。

记得刚毕业的时候,我是很喜欢写东西的,学习笔记也有,工具教程也有,什么都敢写,什么都敢往博客上面放,后来随着工作的深入,懂的东西变多之后,写东西反而不是很多了,我想一个原因是,随着技术水平的慢慢提高,我意识到自己的技术深度还远远不够,很多东西自己都知其然不知其所以然,这样的状态,写出来的东西,会不会误导人呢?

不过,现在技术有了一点点沉淀之后,我觉得有必要把自己总结的一些经验和技巧分享给大家,另外一方面也算是一个记录。很多思路和想法,如果不去记录下来,很容易就会忘记,

关于工作

从 HTC 的实习,到火花乐蛙的短暂停留,再到魅族,算起来工作了也好几年了,这几年一直在做 Android 相关的开发,从 App 开发到系统开发,一路下来,越发觉得,做软件开发是一件很有趣的事,尤其是当你做的功能,被几百万几千万的用户在使用的时候,那份激动和责任,总会驱动我们要做得更好,我推测未来五年之内, Android 在手机界的统治地位,暂时没有其他的系统可以撼动,所以值得花时间在这上面。

当然除了具体的 Android 技术点,学习 Android 的设计思想,软件架构,培养自己解决通用问题的能力,是更重要的事情,这正是我现阶段需要去努力的方向。

关于具体的技术田,我暂时还没有想好具体要深入哪一块,目前对 Android 和 Linux 的进程管理和 CPU 调度比较感兴趣,性能方面则偏重于流畅度、响应速度的分析和调优,这几块就够我钻研好久了。

前几天去总部,看到 2016 年我司出了 15 台手机,每一台手机在做的时候,我们都会对其做性能调优,那一大堆性能 Feature ,和每个机型都莫名其妙的性能问题,搞得团队根本没有时间去做一些更有深度的事情,有点故步自封的感觉,2017 年希望能改变这一点,起码自己要先做改变。

关于工作内容

工作内容主要是系统层面的一些优化工作,涉及到的点比较多,自己则是全而不精,今年要寻找一个点深挖:

  1. 负责 Android 系统级别的性能优化,主要是 Framework 层以及 App 层的优化
  2. 负责优化内容包括 响应速度、流畅度、内存、启动速度、过度绘制、HWUI、SurfaceFlinger 等
  3. 参与制定性能部分测试项和测试标准
  4. 负责寻找和挖掘性能优化点,并负责实施和推广
  5. 负责系统关键项目的开发,比如智能系统调频器、进程优先级优化等
  6. 负责老机型与新机型的性能问题分析与解决
  7. 负责新员工性能方面的培训,以及内部技术分享
  8. 竞品分析,挖掘竞品的优点
  9. 负责性能部分文档编写与总结

关于习惯

2016 年起,我养成了一套自己的工作习惯,不过有的时候都没有严格去执行,2017 年则需要严格去执行这些,

工作安排

每天早上起来后,会安排一下今天一天的工作,安排的依据是昨天的工作记录情况和邮件记录,主要包含下面几点

  • 优先级:确定每个任务的优先级,重要的事情放在前面,优先做
  • 预估时间:确定每个任务的预估时间,精确到半个小时

当然会预留一定的时间,去应付突发的事情,比如有人来找我分析很重要的问题,就会打乱我的计划,所以工作安排也是一门技术,以我的经验和公司的情况,我一般会如下安排时间:

  • 一般来说,上午的时候,来找的人比较少,可以安排做一些重要 Feature 的开发,或者重要技术的预言
  • 下午的时候可以安排处理 Bug ,处理邮件,处理非重要的 Feature 等
  • 晚上的时候可以安排做一些技术的研究

当然理想是丰满的,现实是骨干的,鉴于软件开发的不确定性,上面的安排也经常会失效,有人建议用桌子上放一个番茄钟的方式来避免别人的干扰,我个人的经验是,戴个耳机!

我安排自己工作的软件是 Tower , Tower 本来是一个团队软件,不过我们团队不是很适应这个软件,所以在我安利了一段时间后,他们就放弃了,所以我还是自己一个人用, 优先级和时间都会以标签的方式显示在每个任务之前:

工作记录

每日回家之后,会把每天的工作记录下来,Tower 适合安排工作,但是不太适合记录工作,一是不太方便每日查看,二是自己的一些思路和想法,记录到 Tower 上很容易找不到。

所以我记录工作的软件是 MWeb ,会记录每天所完成的各个项,不论大小,比较重要的工作项,解题思路和想法都会记录在后面,每周的总结也会记录,来源包括 Redmine、邮件、Tower 等,这样不会漏掉一些重要的事情和数据

文章记录

文章记录主要的印象笔记,遇到好文章或者比较重要的事情,我都会记录到印象笔记中,定时去整理和查看

关于 2017

今年公司比较动荡,身边好几个小伙伴都走人了,公司也在转型,阵痛期。自己也比较犹豫,不过目前没有花太多的时间去想这事,做好目前手上每一件事,该做的去做,机会总是青睐有准备的人。

作为一个软件工程师,Coding 能力永远是要放在第一位的,这一点需要向我偶像百万学习(下图,一周Coding 的时间是51个小时)!
百万

关于我 && 博客

下面是个人的介绍和相关的链接,期望与同行的各位多多交流,三人行,则必有我师!

  1. 博主个人介绍 :里面有个人的微信和微信群链接。
  2. 本博客内容导航 :个人博客内容的一个导航。
  3. 个人整理和搜集的优秀博客文章 - Android 性能优化必知必会 :欢迎大家自荐和推荐 (微信私聊即可)
  4. Android性能优化知识星球 : 欢迎加入,多谢支持~

一个人可以走的更快 , 一群人可以走的更远

微信扫一扫