<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[victoryckl的专栏]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/victoryckl</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; victoryckl]]></copyright><item><title><![CDATA[Android 现代 App 架构 - 启程（一）]]></title><link>https://blog.csdn.net/victoryckl/article/details/136517859</link><guid>https://blog.csdn.net/victoryckl/article/details/136517859</guid><author>victoryckl</author><pubDate>Wed, 06 Mar 2024 21:05:38 +0800</pubDate><description><![CDATA[本文就是解读此次改版的方方面面的第一篇文章，期望是通过这一系列文章带你快速掌 Android 握新版架构的核心要领。好的，下面直接进入正文。首先看下为什么 App 需要架构设计？]]></description><category></category></item><item><title><![CDATA[AndroidStudio无法查看Compose重组次数]]></title><link>https://blog.csdn.net/victoryckl/article/details/136342755</link><guid>https://blog.csdn.net/victoryckl/article/details/136342755</guid><author>victoryckl</author><pubDate>Wed, 28 Feb 2024 12:14:19 +0800</pubDate><description><![CDATA[为什么写这一篇文章呢？1、本月的创作者训练营活动奖品比较诱人且是积分制的，决定来薅一薅😁。]]></description><category></category></item><item><title><![CDATA[谈一谈 OpenHarmony 的方舟编译体系]]></title><link>https://blog.csdn.net/victoryckl/article/details/135941336</link><guid>https://blog.csdn.net/victoryckl/article/details/135941336</guid><author>victoryckl</author><pubDate>Tue, 30 Jan 2024 21:07:43 +0800</pubDate><description><![CDATA[OpenHarmony 目前主推的应用开发语言是js，谈到javascript多数人想当然的认为不适合用在单片机或上，它是脚本语言且还是解释执行的，效率肯定不会高，当然这是传统意义上的偏见。早前js仅在web浏览器上用的时候确实是这样的。但自从出现了V8和nodejs, js逐渐的在MVVM前端，移动端H5和后端上都焕发了第二春。微软针对脚本语言的类型不安全也创造发明了typescript，可见重视程度不一般，基于此还创造了很流行的vscode编辑器。]]></description><category></category></item><item><title><![CDATA[乐优商城（二）搭建后台前端]]></title><link>https://blog.csdn.net/victoryckl/article/details/134943914</link><guid>https://blog.csdn.net/victoryckl/article/details/134943914</guid><author>victoryckl</author><pubDate>Tue, 12 Dec 2023 11:24:45 +0800</pubDate><description><![CDATA[作为 Web 服务器：相比 Apache，Nginx 使用更少的资源，支持更多的并发连接，体现更高的效率，这点使 Nginx 尤其受到虚拟主机提供商的欢迎。作为负载均衡服务器：Nginx 既可以在内部直接支持 Rails 和 PHP，也可以支持作为 HTTP 代理服务器 对外进行服务。Nginx 用 C 编写, 不论是系统资源开销还是 CPU 使用效率都比 Perlbal 要好的多。]]></description><category></category></item><item><title><![CDATA[乐优商城（一）介绍和项目搭建]]></title><link>https://blog.csdn.net/victoryckl/article/details/134943236</link><guid>https://blog.csdn.net/victoryckl/article/details/134943236</guid><author>victoryckl</author><pubDate>Tue, 12 Dec 2023 10:50:36 +0800</pubDate><description><![CDATA[文章浏览阅读114次。需要注意的是，我们的 leyou-item 是一个微服务，那么将来肯定会有其它系统需要来调用服务中提供的接口，获取的接口数据，也需要对应的实体类来封装，因此肯定也会使用到接口中关联的实体类。右键 leyou-item 项目 --> New Module --> Maven --> Next。右键 leyou-item 项目 --> New Module --> Maven --> Next。右键 leyou 项目 --> New Module --> Maven --> Next。]]></description><category></category></item><item><title><![CDATA[用JAVA编写MP3解码器]]></title><link>https://blog.csdn.net/victoryckl/article/details/117930792</link><guid>https://blog.csdn.net/victoryckl/article/details/117930792</guid><author>victoryckl</author><pubDate>Tue, 15 Jun 2021 18:39:13 +0800</pubDate><description><![CDATA[【内容提要】《用JAVA编写MP3解码器》系列文章将对JAVA实现MP3解码的技术细节作介绍，本着开源的精神，文中给出完整的MPEG 1.0/2.0/2.5 Audio Layer I/II/III 解码的JAVA源代码。在哈夫曼解码、逆量化和重排序、多相合成滤波等模块中采用了卓有成效方法来提高程序运行效率；采用了IMDCT、DCT经典的快速算法，根据自己对算法的理解编写代码，对快速算法有详细的推导和说明；整个程序采用模块化设计，程序结构比较清晰。即使你之前对JAVA语言不太熟悉，由于JAVA的语法类似于.]]></description><category></category></item><item><title><![CDATA[Unicode中文和特殊字符的编码范围]]></title><link>https://blog.csdn.net/victoryckl/article/details/91536878</link><guid>https://blog.csdn.net/victoryckl/article/details/91536878</guid><author>victoryckl</author><pubDate>Wed, 12 Jun 2019 15:25:07 +0800</pubDate><description><![CDATA[https://www.cnblogs.com/sosoft/p/3456631.html#top

编程中有时候需要用到匹配中文的正则，一般用 [ \u4e00-\u9fa5]+ 即可搞定。不过这正则对一般的火星文鸟语就不太适用了，甚至全角的标点符号都不包含在内。例如游戏里面的玩家名，普通青年一般都是汉字，文艺青年会加几个特殊字符，2B青年火星文鸟语都会用上；这时候你就需要更强大的正则了。

...]]></description><category></category></item><item><title><![CDATA[com.android.support版本冲突的解决办法]]></title><link>https://blog.csdn.net/victoryckl/article/details/88786393</link><guid>https://blog.csdn.net/victoryckl/article/details/88786393</guid><author>victoryckl</author><pubDate>Mon, 25 Mar 2019 09:45:58 +0800</pubDate><description><![CDATA[https://blog.csdn.net/yuzhiqiang_1993/article/details/78214812

All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes

当我们使用andro...]]></description><category></category></item><item><title><![CDATA[MyBatis中#{}和${}的区别详解]]></title><link>https://blog.csdn.net/victoryckl/article/details/88712796</link><guid>https://blog.csdn.net/victoryckl/article/details/88712796</guid><author>victoryckl</author><pubDate>Thu, 21 Mar 2019 13:25:24 +0800</pubDate><description><![CDATA[https://blog.csdn.net/luman1991/article/details/52623184



 1、#将传入的数据当成一个字符串，会对自动传入的数据加一个双引号。例如

 order by #id#,如果传入的值是111，那么解析成sql时的值变为order by "111",如果传入的值是id,在解析成sql为order by "id"

 其实原s...]]></description><category></category></item><item><title><![CDATA[Mybatis中去掉foreach拼接字符串中自动添加的前后空格]]></title><link>https://blog.csdn.net/victoryckl/article/details/88694663</link><guid>https://blog.csdn.net/victoryckl/article/details/88694663</guid><author>victoryckl</author><pubDate>Wed, 20 Mar 2019 17:37:10 +0800</pubDate><description><![CDATA[https://blog.csdn.net/king007c/article/details/85276655

例：

&lt;foreach collection="plantset_types" item="plant" separator="," open="'" close="'"&gt;
 ${plant.plant_id}
&lt;/foreach&gt;

每个${plan...]]></description><category></category></item><item><title><![CDATA[C#泛型入门学习泛型类、泛型集合、泛型方法、泛型约束、泛型委托]]></title><link>https://blog.csdn.net/victoryckl/article/details/80307250</link><guid>https://blog.csdn.net/victoryckl/article/details/80307250</guid><author>victoryckl</author><pubDate>Mon, 14 May 2018 11:20:25 +0800</pubDate><description><![CDATA[本章阅读列表泛型很难理解？不然泛型集合和ArrayList的装箱拆箱常见的泛型类型泛型类和泛型方法泛型约束泛型委托泛型很难理解？不然在接触的一个新的概念的时候，总会感觉难以理解，当你掌握并能熟练地使用的时候，发现这个概念其实简单的，我相信大多数码农都会有这种似曾相识的感觉。可能大多数人刚学习泛型的时候觉得很难理解，当然我也是这样的，所以便写下这篇文章加深一下对泛型的印象。 第一次接触泛型那还是在大...]]></description><category></category></item><item><title><![CDATA[Android M Launcher3主流程源码浅析]]></title><link>https://blog.csdn.net/victoryckl/article/details/78878668</link><guid>https://blog.csdn.net/victoryckl/article/details/78878668</guid><author>victoryckl</author><pubDate>Sat, 23 Dec 2017 10:47:43 +0800</pubDate><description><![CDATA[﻿﻿
http://blog.csdn.net/yanbober/article/details/50525559


背景
关于Launcher是啥的问题我想这里就没必要再强调了。由于一些原因迫使最近开始需要研究一下Launcher3源码，为了不再像以前那么傻逼（研究Settings等代码没作笔记），故这里赶紧将阶段性的感悟整理成文章，方便日后回看。其实本文来源于我在项目组内部的一次分]]></description><category></category></item><item><title><![CDATA[chromium源代码结构]]></title><link>https://blog.csdn.net/victoryckl/article/details/78655014</link><guid>https://blog.csdn.net/victoryckl/article/details/78655014</guid><author>victoryckl</author><pubDate>Tue, 28 Nov 2017 14:45:38 +0800</pubDate><description><![CDATA[﻿﻿
http://blog.csdn.net/yuan_lo/article/details/51553708


Chrome源代码结构
首先，开始接触Chrome的童鞋可能有一个疑惑，Chrome和Chromium是同一个东西吗？答案是，Chrome是Google官方的浏览器项目名称，Chromium是Google官方对Chrome开源项目。说白了就是Chrome是Google自己]]></description><category></category></item><item><title><![CDATA[Android4.4系统浏览器Chromium实现的加载模块与流程]]></title><link>https://blog.csdn.net/victoryckl/article/details/78654124</link><guid>https://blog.csdn.net/victoryckl/article/details/78654124</guid><author>victoryckl</author><pubDate>Tue, 28 Nov 2017 13:38:50 +0800</pubDate><description><![CDATA[﻿﻿
http://blog.csdn.net/hursing/article/details/38727119


本文只描述Http网络请求相关的信息，Https、Spdy、file、ftp、websocket等的类型只提及在哪里出现关系分支。
PS:一部分实现是在content层的，所以这里其实并不全，例如没提到URLRequestContext、CookieStore。
代码层]]></description><category></category></item><item><title><![CDATA[理解WebKit和Chromium: Android 4.4 上的Chromium WebView]]></title><link>https://blog.csdn.net/victoryckl/article/details/78553066</link><guid>https://blog.csdn.net/victoryckl/article/details/78553066</guid><author>victoryckl</author><pubDate>Thu, 16 Nov 2017 16:54:00 +0800</pubDate><description><![CDATA[﻿﻿
http://blog.csdn.net/milado_nju/article/details/17098399


转载请注明原文地址：http://blog.csdn.net/milado_nju



## 概述
相信读者已经注意到了，在最新的Android 4.4 Kitkat版本中，原本基于Android WebKit的WebView实现被换成基于Chromium]]></description><category></category></item><item><title><![CDATA[Android WebView简要介绍和学习计划]]></title><link>https://blog.csdn.net/victoryckl/article/details/78550316</link><guid>https://blog.csdn.net/victoryckl/article/details/78550316</guid><author>victoryckl</author><pubDate>Thu, 16 Nov 2017 13:49:04 +0800</pubDate><description><![CDATA[﻿﻿
http://blog.csdn.net/luoshengyang/article/details/53124261




       我们通常会在App的UI中嵌入WebView，用来实现某些功能的动态更新。在4.4版本之前，Android WebView基于WebKit实现。不过，在4.4版本之后，Android WebView就换成基于Chromium的实现了。基于Ch]]></description><category></category></item><item><title><![CDATA[Android WebView加载Chromium动态库的过程分析]]></title><link>https://blog.csdn.net/victoryckl/article/details/78550169</link><guid>https://blog.csdn.net/victoryckl/article/details/78550169</guid><author>victoryckl</author><pubDate>Thu, 16 Nov 2017 13:33:29 +0800</pubDate><description><![CDATA[﻿﻿
http://blog.csdn.net/luoshengyang/article/details/53209199


       Chromium动态库的体积比较大，有27M左右，其中程序段和数据段分别占据25.65M和1.35M。如果按照通常方式加载Chromium动态库，那么当有N个正在运行的App使用WebView时，系统需要为Chromium动态库分配的内存为(25.6]]></description><category></category></item><item><title><![CDATA[Android Chromium for WebView代码结构]]></title><link>https://blog.csdn.net/victoryckl/article/details/78549240</link><guid>https://blog.csdn.net/victoryckl/article/details/78549240</guid><author>victoryckl</author><pubDate>Thu, 16 Nov 2017 11:24:56 +0800</pubDate><description><![CDATA[http://blog.csdn.net/typename/article/details/40896627


转载请注明出处 http://blog.csdn.net/typename powered by miechalzhao@gmail.com
概述
        相信关注Android 平台开发的大家已经观察到Android 4.4及其以上WebView的默认实现从Webk]]></description><category></category></item><item><title><![CDATA[Android动态加载黑科技 动态创建Activity模式]]></title><link>https://blog.csdn.net/victoryckl/article/details/78406651</link><guid>https://blog.csdn.net/victoryckl/article/details/78406651</guid><author>victoryckl</author><pubDate>Tue, 31 Oct 2017 18:54:17 +0800</pubDate><description><![CDATA[﻿﻿
https://segmentfault.com/a/1190000004077469


基本信息


Author：kaedea

GitHub：android-dynamical-loading

代理Activity模式的限制
还记得我们在代理Activity模式里谈到启动插件APK里的Activity的两个难题吗，由于插件里的Activity没在主项目的Ma]]></description><category></category></item><item><title><![CDATA[Android插件化原理解析——概要]]></title><link>https://blog.csdn.net/victoryckl/article/details/78405105</link><guid>https://blog.csdn.net/victoryckl/article/details/78405105</guid><author>victoryckl</author><pubDate>Tue, 31 Oct 2017 16:39:36 +0800</pubDate><description><![CDATA[﻿﻿
http://weishu.me/2016/01/28/understand-plugin-framework-overview/
发表于 2016-01-28   |   50926次阅读



2015年是Android插件化技术突飞猛进的一年，随着业务的发展各大厂商都碰到了Android Native平台的瓶颈：

从技术上讲，业务逻辑的复杂导致代码量急剧膨胀，各大厂商]]></description><category></category></item></channel></rss>