<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[quchen528的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/quchen528</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; quchen528]]></copyright><item><title><![CDATA[第六章：测试、调试与性能监控]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/157937522</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/157937522</guid><author>quchen528</author><pubDate>Tue, 10 Feb 2026 11:12:18 +0800</pubDate><description><![CDATA[保证 Markdown 模块正确、快速、稳定。属于。如需集成，请参考本章末尾的附录 A。]]></description><category></category></item><item><title><![CDATA[第五章：Markwon 性能优化与多场景落地]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/157937509</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/157937509</guid><author>quchen528</author><pubDate>Tue, 10 Feb 2026 11:11:48 +0800</pubDate><description><![CDATA[本章只围绕（不再引用 pulldown_cmark 或任何 Native 解析器）]]></description><category></category></item><item><title><![CDATA[第四章：Markdown 渲染中的自定义能力]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/157937463</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/157937463</guid><author>quchen528</author><pubDate>Tue, 10 Feb 2026 11:09:33 +0800</pubDate><description><![CDATA[层次可以改的内容典型示例解析层增加 / 修改 Markdown 语法支持@[mention]渲染层替换节点渲染器、插入自定义 span / View把blockquote渲染成带侧栏的卡片视图层替换整个块级组件为自定义 View、在 TextView 外层包裹布局图片组件改为可缩放 PhotoView。]]></description><category></category></item><item><title><![CDATA[第三章：Markwon 插件机制详解]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/157937449</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/157937449</guid><author>quchen528</author><pubDate>Tue, 10 Feb 2026 11:09:02 +0800</pubDate><description><![CDATA[/ 解析扩展：支持 ::icon::// 渲染扩展：把 IconNode 转成 EmojiSpan// 自定义图片加载${SystemnanoTime1e6ms")使用.usePlugin(MyMarkdownPlugin()) // 放在最后以便覆盖.build()至此，插件机制的核心用法、生命周期、冲突处理与定制模板全部覆盖完毕。如果还需更深入的插件实战（如表格滚动、LaTeX 渲染等），可在此基础上编写专用插件并按照 3.6 模板集成。]]></description><category></category></item><item><title><![CDATA[第二章：从 AST 到渲染——原理、插件与视图替换]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/157937437</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/157937437</guid><author>quchen528</author><pubDate>Tue, 10 Feb 2026 11:08:32 +0800</pubDate><description><![CDATA[IconNode：继承CustomNode：识别IconPlugin：把IconNode转成注册→ “”（iconfont 字形）。]]></description><category></category></item><item><title><![CDATA[第一章：Markdown 到 AST 的解析过程]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/157937422</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/157937422</guid><author>quchen528</author><pubDate>Tue, 10 Feb 2026 11:07:54 +0800</pubDate><description><![CDATA[但这些语法，手机系统看不懂——它只认识结构（比如“这是一个标题”，“这是一个加粗的文字”）。于是我们需要一个“翻译器”把 Markdown 变成结构化表达，也就是我们说的。Markwon 本身只管调 parser 拿 AST，真正负责渲染的是后续的。Markdown 是程序员写文档的通用语法，比如。结构清晰之后，才能渲染出真正的界面。]]></description><category></category></item><item><title><![CDATA[Markwon 渲染机制解析系列文档]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/157937355</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/157937355</guid><author>quchen528</author><pubDate>Tue, 10 Feb 2026 11:04:40 +0800</pubDate><description><![CDATA[4.1 大白话讲：我能改哪些地方？怎么替换成自定义内容？4.2 技术视角：节点拦截、自定义渲染器、替换 View 的实战。]]></description><category></category></item><item><title><![CDATA[AI应用 Markdown 渲染对比与原生实现方案]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/148257142</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/148257142</guid><author>quchen528</author><pubDate>Tue, 27 May 2025 14:37:56 +0800</pubDate><description><![CDATA[综上所述，推荐的Markdown原生渲染方案以。]]></description><category></category></item><item><title><![CDATA[Markdown系列]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/148149084</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/148149084</guid><author>quchen528</author><pubDate>Thu, 22 May 2025 20:53:41 +0800</pubDate><description><![CDATA[周杰伦](data:image/jpeg;这是[百度](http://www.baidu.com)。### 6.链接可以由两种形式生成：行内式和参考式。行内`hello`的特殊展示。### 1.无序分组。### 2.有序分组。]]></description><category></category></item><item><title><![CDATA[了解单例模式]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/127291461</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/127291461</guid><author>quchen528</author><pubDate>Wed, 12 Oct 2022 21:53:06 +0800</pubDate><description><![CDATA[了解单例模式]]></description><category></category></item><item><title><![CDATA[Android的Service相关问题]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/122413270</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/122413270</guid><author>quchen528</author><pubDate>Mon, 10 Jan 2022 16:25:57 +0800</pubDate><description><![CDATA[Service知识点

目录

Service知识点

Service的启动

Service的生命周期？

Activity如何与Service通信

IntentService是什么

说说 Activity、Intent 和 Service 是什么关系

Service优先级如何提高

Service 里面可以弹Toast吗？

是否可以在Service内进行耗时操作，会有什么后果？

一个Activty先start一个Service后，再bind时会回调什么方法？此时如何做才能回调Service的d]]></description><category></category></item><item><title><![CDATA[Android的Handler知识点]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/122412950</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/122412950</guid><author>quchen528</author><pubDate>Mon, 10 Jan 2022 16:10:32 +0800</pubDate><description><![CDATA[Looper死循环为什么不会导致线程卡死





1.因为作为一个正常的应用，他应该不能主动去结束自己的生命周期，所有就需要靠Looper死循环去让应用一直保持存活状态



2.为什么没有卡死，首先得先理解这里的卡死指的是ANR，

ANR是因为应用在一定时间内未做出响应而导致的（

InputDispatching Timeout：5秒内无法响应屏幕触摸事件或键盘输入事件、

BroadcastQueue Timeout ：在执行前台广播（BroadcastReceiver）的onReceive(..]]></description><category></category></item><item><title><![CDATA[Activity的四种启动模式]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/122242084</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/122242084</guid><author>quchen528</author><pubDate>Thu, 30 Dec 2021 17:58:52 +0800</pubDate><description><![CDATA[Activity的启动模式可在项目的配置文件内进行设置

standard：标准模式下每次启动的Activity都会新建，切放到Task任务栈的栈顶，通过点击返回关闭应用的话，就需要返回Activity的新建次数

singleTop：相较于standard模式，singleTop模式下，当新建Activity时，首先会确定该Activity是否在该Task的顶部。如果不在的话才会新建

singleTask: 相较于singleTop模式，singleTask模式下，新建Activity时首先会判断其是否]]></description><category></category></item><item><title><![CDATA[Activity 生命周期]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/122239002</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/122239002</guid><author>quchen528</author><pubDate>Thu, 30 Dec 2021 16:28:26 +0800</pubDate><description><![CDATA[一、 生命周期一共有九种生命周期状态状态：

onCreate()、onStart()、onResume()、onPause()、onStop()、onDestory()、onRestart()、onSaveInstanceState()、onRestoreInstanceState()

二、

三、三者特殊情形下的生命周期状态变化

1. 因硬件原因导致的生命周期变化：Home键、系统返回键

&lt;1&gt;. 在Activity可交互状态时点击Home键: onPause() ...]]></description><category></category></item><item><title><![CDATA[基于MQTT的多隧道管理系统省中心端API实现]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/106030172</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/106030172</guid><author>quchen528</author><pubDate>Sun, 10 May 2020 00:33:10 +0800</pubDate><description><![CDATA[项目背景

现有的隧道管理软件未实现中心化，即不同的隧道采用独立的隧道管理软件，省中心无法实时监测管理各隧道，随即需要开发中心服务器实现对各个隧道的管理。隧道内的设备种类较多，但可分为监视类、监控类。监视类设备信息传递为单向的，即设备状态单向传递给服务器，监控类设备信息传递则为双向的，即设备状态传递给服务器的同时，还需要能够远程对设备进行控制。为了高效的实现中心服务器对隧道的远程监控，拟采用MQTT协议实现隧道到省中心的消息传递。

基本功能

基本要求

（1）secretKey和secretData的隧]]></description><category></category></item><item><title><![CDATA[CPU和GPU的设计区别]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/105914459</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/105914459</guid><author>quchen528</author><pubDate>Mon, 04 May 2020 10:55:45 +0800</pubDate><description><![CDATA[CPU和GPU之所以大不相同，是由于其设计目标的不同，它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型，同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。
于是CPU和GPU就呈现出非常不同的架构（示意图）：
　　
CPU与GPU区别大揭秘
...]]></description><category></category></item><item><title><![CDATA[Json解析struct]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/103353376</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/103353376</guid><author>quchen528</author><pubDate>Mon, 02 Dec 2019 17:39:55 +0800</pubDate><description><![CDATA[结构体展示json格式
package main

import (
		"encoding/json"
		"fmt"
		_ "fmt"
	   )

type A struct {
	Config struct {
		IsEnabled bool `json:"is_enabled"`
	} `json:"config"`
}

func main() {
	var b A
	a,_ :=...]]></description><category></category></item><item><title><![CDATA[【练题】Lake Counting]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/103282606</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/103282606</guid><author>quchen528</author><pubDate>Wed, 27 Nov 2019 20:22:05 +0800</pubDate><description><![CDATA[题目描述
Due to recent rains, water has pooled in various places in Farmer John’s field, which is represented by a rectangle of N x M (1 &lt;= N &lt;= 100; 1 &lt;= M &lt;= 100) squares. Each square contai...]]></description><category></category></item><item><title><![CDATA[【Linux】TCP/UDP/HTTP面试问题]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/98473054</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/98473054</guid><author>quchen528</author><pubDate>Fri, 09 Aug 2019 10:41:17 +0800</pubDate><description><![CDATA[1、UDP和TCP的区别

TCP
有连接
可靠的传输
TCP是点对点的两点间服务，即一条TCP连接只能有两个端点:
TCP有流量控制拥塞控制保证数据传输的安全性
TCP报文长度是用接收方的窗口大小和当前的网络状况决定的
TCP首部开销大，需要20个字节
UDP
无连接
不可靠
UDP支持1对1,1对多，多对多
UDP没有拥塞控制，网络阻塞不会影响发送效率
UDP是面向报文的，保留从上面传下来的报...]]></description><category></category></item><item><title><![CDATA[进程与线程的相关面试问题总概]]></title><link>https://blog.youkuaiyun.com/quchen528/article/details/98379364</link><guid>https://blog.youkuaiyun.com/quchen528/article/details/98379364</guid><author>quchen528</author><pubDate>Sun, 04 Aug 2019 00:16:39 +0800</pubDate><description><![CDATA[1、进程与线程的概念


狭义定义： 进程是正在运行的程序的实例


广义定义： 进程是一个具有一定独立功能的程序员关于某个数据集合的一次运行活动。它是操作系统动态执行的基本单元，在传统的操作系统中，进程既是基本的分配单元，也是基本的执行单元。


进程的组成

程序
程序部分描述了进程执行需要完成的功能，是指令和数据的有序集合，其本身没有任何运行的含义，是一个静态的概念。
数据
数据部分包括程度...]]></description><category></category></item></channel></rss>