<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[cplasf2012的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/cplasf2012</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; cplasf2012]]></copyright><item><title><![CDATA[Android Lint规则大全（翻译）]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/130522533</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/130522533</guid><author>cplasf2012</author><pubDate>Sat, 06 May 2023 11:00:46 +0800</pubDate><description><![CDATA[Lint规则
	
lint规则包含一下几个分类

1、Correctness正确性方面

2、CorrectnessMessages更正信息方面

3、Security安全性方面

4、Performance性能方面

5、UsabilityTypography更好的可用性方面

6、UsabilityIconsIcon的更好的可用性方面

7、Usability可用性方面

8、Accessibility可访问性方面

9、Internationalization国际化方面



]]></description><category></category></item><item><title><![CDATA[Android Lint规则（包括翻译规则）和空指针检查研究]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/130521799</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/130521799</guid><author>cplasf2012</author><pubDate>Sat, 06 May 2023 10:58:48 +0800</pubDate><description><![CDATA[android {// true--关闭lint报告的分析进度quiet true// true--错误发生后停止gradle构建// true--只报告error// true--忽略有错误的文件的全/绝对路径(默认是true)// true--检查所有问题点，包含其他默认关闭项// true--所有warning当做error// 关闭指定问题检查// 打开指定问题检查// 仅检查指定问题// true--error输出文件不包含源码行号。]]></description><category></category></item><item><title><![CDATA[使用Kotlin协程]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/130505581</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/130505581</guid><author>cplasf2012</author><pubDate>Fri, 05 May 2023 14:05:47 +0800</pubDate><description><![CDATA[Kotlin协程、Android开发]]></description><category></category></item><item><title><![CDATA[android开发知识点汇总]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/126619664</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/126619664</guid><author>cplasf2012</author><pubDate>Wed, 31 Aug 2022 10:59:17 +0800</pubDate><description><![CDATA[六大原则设计模式创建型模式（5种）结构型模式（8种）行为型模式（12种）数据结构算法排序算法查找算法。]]></description><category></category></item><item><title><![CDATA[代码Review工具upsourse的部署]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/124292700</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/124292700</guid><author>cplasf2012</author><pubDate>Wed, 20 Apr 2022 11:26:03 +0800</pubDate><description><![CDATA[第1步
	
解压压缩包找到Upsource目录下的bin目录下的upsource.bat文件，双击启动
]]></description><category></category></item><item><title><![CDATA[增量更新BSDiff算法溯源和原理解析]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/117769624</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/117769624</guid><author>cplasf2012</author><pubDate>Thu, 10 Jun 2021 10:11:56 +0800</pubDate><description><![CDATA[背景
差异化更新可分为两种，一种是基于源文件的差异化更新，该种方式成功率高， 算法简单，常用于平台相关的差异更新，但在移动端保存巨大的源文件、下载更新文件整合后再编译的方式显然是不现实的； 另一种即为现在广泛使用的方法即对可执行文件的二进制更新方式，BSDiff就是后者。

作者
BSDiff是一种可执行文件的二进制差异构建和应用修补工具。

据资料记录，作者为Colin Percival，早在2003年就已经写好了这个工具。官网是http://www.daemonology.net/bsdiff/，不过看]]></description><category></category></item><item><title><![CDATA[Android热修复实战]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/117695632</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/117695632</guid><author>cplasf2012</author><pubDate>Tue, 08 Jun 2021 18:53:49 +0800</pubDate><description><![CDATA[一、背景

调研了一下目前主流的热修复架构主要是两种，

底层替换方案 底层替换方案限制颇多，但时效性最好，加载轻快，立即见效 阿里系的AndFix、Sophix 类加载方案 类加载方案时效性差，需要重新冷启动才能见效，但修复范围广，限制少 QZone超级补丁、微信Tinker



其一是类和资源整体替换方案，QZone超级补丁、微信Tinker就是这种。

利用DexClassLoader在应用启动阶段替换需要替换的Class文件、资源达到修复的目的

优点：方便，直接替换简单干脆，开发新的替换补丁P.]]></description><category></category></item><item><title><![CDATA[Android增量更新方案]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/117562061</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/117562061</guid><author>cplasf2012</author><pubDate>Fri, 04 Jun 2021 15:17:44 +0800</pubDate><description><![CDATA[背景

  咱们的App由于业务原因安装包尺寸日益加大，目前掌上炫舞已经170M、梦工厂也已经120M+，用户下载成本加大。

什么是增量更新？


  增量更新的关键在于增量一词。平时我们的开发过程，往往都是今天在昨天的基础上修改一些代码，app的更新也是类似的，往往都是在旧版本的app上进行修改。这样看来，增量更新就是原有app的基础上只更新发生变化的地方，其余保持原样。
与之前每次更新都要下载完整apk包的做法相比，这样做的好处显而易见，每次变化的地方总是比较少的，因此更新包的体积就会小很多。...]]></description><category></category></item><item><title><![CDATA[Android Gradle插件开发基础实例]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/117470676</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/117470676</guid><author>cplasf2012</author><pubDate>Wed, 02 Jun 2021 16:23:46 +0800</pubDate><description><![CDATA[首先新建一个自己作为Demo的工程
	
	
	
]]></description><category></category></item><item><title><![CDATA[Android进阶-Android与JavaScript方法相互调用！]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/80805524</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/80805524</guid><author>cplasf2012</author><pubDate>Mon, 25 Jun 2018 18:09:10 +0800</pubDate><description><![CDATA[在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法，这样html才能调用android方法，在这里我个人觉得有点和DWR相似。为了让大家容易理解，我写了一个简单的Demo，具体步骤如下:第一步:新建一个Android工程,命名为WebViewDemo(这里我在assets里定义了一...]]></description><category></category></item><item><title><![CDATA[Android进阶-列出Android设备中所有启动的服务，及判断某个服务是否开启!]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/80805504</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/80805504</guid><author>cplasf2012</author><pubDate>Mon, 25 Jun 2018 18:06:54 +0800</pubDate><description><![CDATA[大家好，好久不见，今天在开发中遇到的一个问题给大家分享一下，我先前做了一个音乐播放器，因为播放音乐一般都是用服务来处理的。当用户点击播放按钮时，音乐在服务中播放，然后用用户退出程序(服务进程还在，音乐还继续),所以妥用户点再次进入应用时，我们播放器要处于播放状态，这里我作了简单的处理，判断这个音乐服务是否开启来完成的。今天给大家的小例子是列出Android设备中所有启动的服务，及判断某个服务是否开...]]></description><category></category></item><item><title><![CDATA[15道简单算法题]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/80805497</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/80805497</guid><author>cplasf2012</author><pubDate>Mon, 25 Jun 2018 18:05:53 +0800</pubDate><description><![CDATA[转载自http://www.cnblogs.com/hlxs/archive/2014/06/06/3772333.html最近在公司里基本处于打酱油的状态，工作正在交接中。没事又做起了算法题目。好久没怎么写算法题了，感觉手气还不错，经常能一次就写对（编译通过，得到想要的结果，没怎么测试），可能是因为这些题目之前看过或是写过，或许就是自己进步了一点。这15道大部分来自《剑指Offer》，作者的博客...]]></description><category></category></item><item><title><![CDATA[Android OpenGL学习-三角形的绘制]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/80805453</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/80805453</guid><author>cplasf2012</author><pubDate>Mon, 25 Jun 2018 18:02:54 +0800</pubDate><description><![CDATA[前面讲了一些Android OpenGl 的概念问题，这一节讲给大家讲一下如何画一个三角现出来. 一、新建一个Android工程命名为:OpenGL_Lesson2. 二、修改OpenGL_Lesson2.java代码如下: [java] view plain copypackage com.android.tutor;  import android.app.Activity;  import ...]]></description><category></category></item><item><title><![CDATA[Android 水滴下落效果View]]></title><link>https://blog.youkuaiyun.com/cplasf2012/article/details/46309891</link><guid>https://blog.youkuaiyun.com/cplasf2012/article/details/46309891</guid><author>cplasf2012</author><pubDate>Mon, 01 Jun 2015 14:06:37 +0800</pubDate><description><![CDATA[第一次写博客，写的不好还希望大家见谅！
    很多时候我们都需要自己来写View，今天给大家个自己写的水滴下落的效果，图片换成水滴即可。
   WaterWaveView.java



package com.berfy.dbcache.view;


import com.berfy.dbcache.R;
import com.berfy.dbcache.util.MyL]]></description><category></category></item></channel></rss>