<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Kibaco的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Kibaco</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Kibaco]]></copyright><item><title><![CDATA[卡顿监测 · 方案篇 · Android卡顿监测指导原则]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/129799802</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/129799802</guid><author>Kibaco</author><pubDate>Mon, 27 Mar 2023 17:28:24 +0800</pubDate><description><![CDATA[“
友链: BaguTree《Android 面试、卡顿、ANR》分享
Tips: 关注微信公众号 小木箱成长营，回复 "卡顿监测" 可获得卡顿监测免费思维导图
”
一、引言
Hello，我是小木箱，欢迎来到小木箱成长营系列教程，今天将分享卡顿监测 · 方案篇 · Android 卡顿监测指导原则。小木箱从七个维度将 Android 卡顿监测技术方案解释清楚。
第一个维度是卡顿定义，第二个维度是卡顿原因，第三个维度是业界方案，第四个维度是相关预研，第五个维度是分析工具，第六个维度是卡顿指标，第七个维度是监测]]></description><category></category></item><item><title><![CDATA[并发编程 · 基础篇(下) · 三大分析法分析线程池]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/129440554</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/129440554</guid><author>Kibaco</author><pubDate>Fri, 10 Mar 2023 12:59:03 +0800</pubDate><description><![CDATA[如果线程正常退出，判断当前线程数量是否小于线程池最小线程数量，如果小于，直接补齐，否则，直接返回。因此，当暂停线程池的时候，集合中的任务就是正在执行的任务，依次遍历调用任务的 pause 方法，当恢复线程池的时候，依次遍历调用任务的 resume 方法。更新线程池的状态为 TIDYING，调用 terminated()，这是一个 hook 方法，可以在这里面做一些资源回收的操作，执行完后，设置线程池状态为 TERMINATED，唤醒在 awaitTermination 方法上等待的线程。]]></description><category></category></item><item><title><![CDATA[Android业务架构 · 基础篇 · Jetpack]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/129378399</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/129378399</guid><author>Kibaco</author><pubDate>Tue, 07 Mar 2023 11:06:40 +0800</pubDate><description><![CDATA[“
【小木箱成长营】Android 业务架构系列文章：
Android 业务架构 · 提高篇 · MVC、MVP、MVVM 和 MVI 四剑客
Android 业务架构 · 实践篇 · MVI+Jetpack+Kotlin 手把手搭建直播应用 App
”
“
Tips: 关注小木箱成长营公众号， 回复"业务架构"可免费获取 Android 业务架构思维导图。
”
一、序言
Hello，我是小木箱，欢迎来到小木箱成长营业务架构系列教程，今天分享的内容是业务架构 · 基础篇 · Jetpack 四件套。
201]]></description><category></category></item><item><title><![CDATA[内存优化 · 基础论 · 初识 Android 内存优化]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128996622</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128996622</guid><author>Kibaco</author><pubDate>Sun, 12 Feb 2023 16:36:46 +0800</pubDate><description><![CDATA[【小木箱成长营】内存优化系列文章：
内存优化 · 工具论 · 常见的 Android 内存优化工具和框架
内存优化 · 方法论 · 揭开内存优化神秘面纱
内存优化 · 实战论 · 内存优化实践与应用


Tips: 关注微信公众号小木箱成长营，回复"内存优化"可免费获得内存优化思维导图

一、序言
Hello，我是小木箱，欢迎来到小木箱成长营系列教程，今天将分享内存优化 · 基础论 · 初识 Android 内存优化。
本次分享主要分为五个部分内容，第一部分内容是 5W2H 分析内存优化，第二部分内容是内]]></description><category></category></item><item><title><![CDATA[并发编程 · 基础篇(中) · 三大分析法分析 Handler]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128912599</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128912599</guid><author>Kibaco</author><pubDate>Tue, 07 Feb 2023 09:36:17 +0800</pubDate><description><![CDATA[小木箱成长营并发编程系列教程(排期中):
并发编程 · 基础篇(上) · android 线程那些事[1]
并发编程 · 基础篇(下) · android 线程池那些事
并发编程 · 提高篇(上) · Java 并发关键字那些事
并发编程 · 提高篇(下) · Java 锁安全性那些事
并发编程 · 高级篇(上) · Java 内存模型那些事
并发编程 · 高级篇(下) · Java 并发 BATJ 面试之谈
并发编程 · 实战篇 · android 下载器实现


Tips: 关注微信公众号小木箱成长营]]></description><category></category></item><item><title><![CDATA[并发编程 · 基础篇 · android线程那些事]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128875680</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128875680</guid><author>Kibaco</author><pubDate>Fri, 03 Feb 2023 20:30:50 +0800</pubDate><description><![CDATA[小木箱成长营并发编程系列教程(排期中):
并发编程 · 基础篇(下) · android线程池那些事
并发编程 · 提高篇(上) · Java并发关键字那些事
并发编程 · 提高篇(下) · Java锁安全性那些事
并发编程 · 高级篇(上) · Java内存模型那些事
并发编程 · 高级篇(下) · Java并发BATJ面试之谈
并发编程 · 实战篇 · android下载器实现


Tips: 关注微信公众号小木箱成长营，回复 "并发编程" 可免费获得并发编程思维导图

一、序言
Hello，我是小木]]></description><category></category></item><item><title><![CDATA[Web3.0 · 基础层技术 · SCQA模型趣谈密码学]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128865860</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128865860</guid><author>Kibaco</author><pubDate>Fri, 03 Feb 2023 14:18:29 +0800</pubDate><description><![CDATA[【小木箱成长营】密码学系列教程：
Web3.0 · 基础层技术 ·密码学在移动端应用与实践

一、序言
Hello，我是小木箱，欢迎来到小木箱成长营密码学系列教程，今天将分享 Web3.0 · 基础层技术 · SCQA 模型趣谈密码学。
SCQA 模型趣谈密码学主要分为四部分，第一部分是加解密算法，第二部分是 Hash 算法，第三部分是数据编解码，最后一部分是总结与展望。
其中，加解密算法主要是分为四部分，第一部分是对称加密，第二部分是 DH 交换算法，第三部分是非对称加密，第四部分是混合加密。

如果学]]></description><category></category></item><item><title><![CDATA[【写作能力提升】写作小白需要避免的五个写作误区和灵魂五问]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128679393</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128679393</guid><author>Kibaco</author><pubDate>Fri, 13 Jan 2023 20:40:09 +0800</pubDate><description><![CDATA[“
【写作能力提升】系列文章：
为什么建议你一定要学会写作?
手把手教你快速搞定4个职场写作场景
5种搭建⽂章架构的⽅法”免费赠送!
”
一、前言
Hello，我是小木箱，今天主要分享的内容是: 写作小白需要避免的五个写作误区和灵魂五问。
二、 误区⼀: 对写作效果有过⾼的预期
写作小白容易犯的第一个误区是: 对写作效果有过高的预期。比如有的人刚开始动笔写作没多久，就想写出阅读量1w+的技术文章，分分钟打败鸿洋、三太子敖丙和JavaGuide等。
或者觉得自己可以写出比他们更高的水准。写不出来，就开始自我怀]]></description><category></category></item><item><title><![CDATA[手把手教你快速搞定4个职场写作场景]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128679167</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128679167</guid><author>Kibaco</author><pubDate>Fri, 13 Jan 2023 20:17:48 +0800</pubDate><description><![CDATA[“
【写作能力提升】系列文章：
为什么建议你一定要学会写作?
手把手教你快速搞定 4 个职场写作场景
5 种搭建⽂章架构的⽅法”免费赠送!
”
一、前言
Hello，我是小木箱，今天主要分享的内容是: 写作小白需要避免的五个写作误区和灵魂五问。
二、 误区⼀: 对写作效果有过⾼的预期
写作小白容易犯的第一个误区是: 对写作效果有过高的预期。比如有的人刚开始动笔写作没多久，就想写出阅读量 1w+的技术文章，分分钟打败鸿洋、三太子敖丙和JavaGuide等。
或者觉得自己可以写出比他们更高的水准。写不出来，就开]]></description><category></category></item><item><title><![CDATA[包体积优化·工具论·初识包体积优化]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128675330</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128675330</guid><author>Kibaco</author><pubDate>Fri, 13 Jan 2023 15:46:26 +0800</pubDate><description><![CDATA[“
【小木箱成长营】包体积优化系列文章：
包体积优化 · 实战论 · 怎么做包体积优化? 做好能晋升吗? 能涨多少钱?
包体积优化 · 方法论 · 揭开包体积优化神秘面纱
”
一、引言
Hello，我是小木箱，欢迎来到小木箱成长营系列教程，今天将分享包体积优化·工具论·初识包体积优化。小木箱从两个维度将 Android 包体积优化工具论解释清楚，本文主要说了四个部分内容，第一部分内容是业务问题和挑战。第二部分内容是包体优化基础知识。第三部分内容是代码优化。最后部分内容是总结与展望。
代码优化分为四部分内容，]]></description><category></category></item><item><title><![CDATA[包体积优化 · 实战论 · 怎么做包体优化? 做好能晋升吗? 能涨多少钱?]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128675305</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128675305</guid><author>Kibaco</author><pubDate>Fri, 13 Jan 2023 15:45:09 +0800</pubDate><description><![CDATA[“
【小木箱成长营】包体积优化系列文章：
包体积优化 · 方法论 · 揭开包体积优化神秘面纱
包体积优化 · 工具论 · 初识包体积优化
BaguTree 包体积优化录播视频课
”
一、引言
Hello，我是小木箱，欢迎来到小木箱成长营系列教程，今天将分享包体积优化 · 实战论 · 怎么做包体优化? 做好能晋升吗? 能涨多少钱?
上一次分享，小木箱从三个维度将 Android 包体优化方法论解释清楚，第一部分内容是针对 So 优化，第二部分内容是针对 Res 资源优化，第三部分内容是针对 Assets/Ra]]></description><category></category></item><item><title><![CDATA[Android架构演进 · 设计模式· 为什么建议你一定要学透设计模式？]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128675268</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128675268</guid><author>Kibaco</author><pubDate>Fri, 13 Jan 2023 15:43:45 +0800</pubDate><description><![CDATA[“
【小木箱成长营】设计模式系列文章(排期中)：
Android 架构演进 · 设计模式 · Android 常见的 4 种创建型设计模式(上)
Android 架构演进 · 设计模式 · Android 常见的 4 种创建型设计模式(下)
Android 架构演进 · 设计模式 · Android 常见的 6 种结构型设计模式(上)
Android 架构演进 · 设计模式 · Android 常见的 6 种结构型设计模式(中)
Android 架构演进 · 设计模式 · Android 常见的 6 种结构]]></description><category></category></item><item><title><![CDATA[【写作能力提升】“5种搭建⽂章架构的⽅法”免费赠送!]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128675147</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128675147</guid><author>Kibaco</author><pubDate>Fri, 13 Jan 2023 15:38:30 +0800</pubDate><description><![CDATA[“
【写作能力提升】系列文章：
为什么建议你一定要学会写作?
“5 种搭建⽂章架构的⽅法”免费赠送!
写作小白需要避免的五个写作误区和灵魂五问
”
一、前言
Hello，我是小木箱，今天主要分享的内容是: 5 种搭建⽂章架构的⽅法!
大家普遍有一个共同的疑惑——如何写作? 其实是一个很难回答的问题。因为问题比较空泛，好比别人问你怎样赚钱一样难回答。
如果问我如何写好一篇文章?需要具备的核心的技能是什么？我可能会说: 搭建框架，框架是文章的根基，能不能搭好文章的框架决定了文章的质量。
想要写好一篇文章，最先要]]></description><category></category></item><item><title><![CDATA[启动优化·基础论·浅析 Android 启动优化]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/128674844</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/128674844</guid><author>Kibaco</author><pubDate>Fri, 13 Jan 2023 15:23:15 +0800</pubDate><description><![CDATA[“
【小木箱成长营】启动优化系列文章(排期中)：
启动优化 · 工具论 · 启动优化常见的六种工具
启动优化 · 方法论 · 这样做启动优化时长降低 70%
启动优化 · 实战论 · 手把手教你破解启动优化十大难题
”
一、引言
Hello，我是小木箱，欢迎来到小木箱成长营系列教程，今天将分享启动优化·基础论·浅析 Android 启动优化。小木箱从四个维度将 Android 启动优化基础论解释清楚。
本文主要说了四部分内容，第一部分内容是启动基础，第二部分内容是启动优化价值，第三部分内容是启动优化业务痛点]]></description><category></category></item><item><title><![CDATA[APM性能监控]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/110209001</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/110209001</guid><author>Kibaco</author><pubDate>Thu, 26 Nov 2020 22:36:45 +0800</pubDate><description><![CDATA[改不完的 Bug，写不完的矫情。公众号 杨正友 现在专注移动基础开发 ，涵盖音视频和 APM,信息安全等各个知识领域；只做全网最 Geek 的公众号，欢迎您的关注！

APM 简要介绍

APM 全称 Application Performance Management &amp; Monitoring (应用性能管理/监控)

性能问题是导致 App 用户流失的罪魁祸首之一，如果用户在使用我们 App 的时候遇到诸如页面卡顿、响应速度慢、发热严重、流量电量消耗大等问题的时候，很可能就会卸载掉我们的 Ap.]]></description><category></category></item><item><title><![CDATA[Android耗电量线下监控: Battery Historian]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/110186268</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/110186268</guid><author>Kibaco</author><pubDate>Thu, 26 Nov 2020 14:17:09 +0800</pubDate><description><![CDATA[改不完的 Bug，写不完的矫情。公众号 杨正友 现在专注移动基础平台开发 ，涵盖音视频, APM和信息安全等各个知识领域；只做全网最 Geek 的公众号，欢迎您的关注！精彩内容不容错过~

一. 发热案例分析
Android 框架层通过一个名为 batterystats 的系统服务，电池的信息，电压，温度，充电状态等等，都是由BatteryService来提供的。电池的这些信息是BatteryService通过广播主动把数据传送给所关心的应用程序。实现了电量统计的功能，batterystats实现原理可以.]]></description><category></category></item><item><title><![CDATA[Android悬浮窗基础: Window 和 WindowManager]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/110137064</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/110137064</guid><author>Kibaco</author><pubDate>Wed, 25 Nov 2020 17:18:57 +0800</pubDate><description><![CDATA[引言

Window 是类似悬浮窗的东西WM 参与 Window 的 Create 和 管理, WMS 和 WM 共同完成 Window 的 IPC交互Window 是 View 直接 管理者Activity 的 setContenView 底层是由PhoneWindow的installDecor绘制的.
1. 如何使用 WM 添加一个 Window?
//&nbsp;将一个Button添加到屏幕位置(100,300)的位置Button&nbsp;button&nbsp;=&nbsp;new&nbsp;Bu]]></description><category></category></item><item><title><![CDATA[Kotlin热身篇: 简介与基本用法]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/110135423</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/110135423</guid><author>Kibaco</author><pubDate>Wed, 25 Nov 2020 16:44:32 +0800</pubDate><description><![CDATA[改不完的 Bug，写不完的矫情。公众号 杨正友 现在专注移动基础平台开发 ，涵盖音视频, APM和信息安全等各个知识领域；只做全网最 Geek 的公众号，欢迎您的关注！精彩内容不容错过~

一. kotlin概念
Kotlin 拥有强大的生态,不仅支持 Android开发,服务端,前端和原生环境,同时Kotlin是一门跑在Java虚拟机上的函数式语言。并符合JVM的设计规范,如: 类型擦除,装箱和拆箱,那么Kotlin和Java有什么共同点呢?
二. kotlin和java8的相同点

说完共同点我们再聊.]]></description><category></category></item><item><title><![CDATA[Android网络框架系列: Retrofit2.5]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/109979515</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/109979515</guid><author>Kibaco</author><pubDate>Mon, 23 Nov 2020 05:45:01 +0800</pubDate><description><![CDATA[引言
  Retrofit 是 Square 公司开发的一款针对 Android 网络请求的框架,遵循 Restful 设计风格,我们查看 invoke 可以发现:底层基于 OkHttp 实现的
,相比其他网络请求框架,有以下优势:

性能最好,速度最快(动态代理优势)简洁易用,代码简化解耦彻底,职责细分易与其他框架联用(Rxjava)
当然也有弊端:因为高度封装,相对于 OkHttp ,扩展性变差了,不过整体能满足项目需求.今天我就带大家来看一下 Retrofit 究竟是如何使用,以及内部工作原理
一.概]]></description><category></category></item><item><title><![CDATA[App极限瘦身: png 打包前自动化转换 webp]]></title><link>https://blog.youkuaiyun.com/Kibaco/article/details/109979210</link><guid>https://blog.youkuaiyun.com/Kibaco/article/details/109979210</guid><author>Kibaco</author><pubDate>Mon, 23 Nov 2020 05:09:22 +0800</pubDate><description><![CDATA[改不完的 Bug，写不完的矫情。公众号 杨正友 现在专注移动基础开发 ，涵盖音视频和 APM,信息安全等各个知识领域；只做全网最 Geek 的公众号，欢迎您的关注！

前言
大家都知道 png 是比较占用App体积的,有没有工具可以在打包前（比如 assembleDebug、assembleRelease）自动去转化所有的 png 图片，包括第三方依赖库里面的呢?之前不经意间发现有一个神器cwebp 转化工具,是不是可以借鉴这种工具自己写个Plugin完成图片转换,同时支持检查大图片，图片大小可配置。话不.]]></description><category></category></item></channel></rss>