news 2026/10/1 1:07:49

四款安卓阅读App深度对比:书源、排版与本地书库管理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
四款安卓阅读App深度对比:书源、排版与本地书库管理

安卓上看小说这件事,我前后折腾了七八年,从最早的塞班时代的TXT阅读器,到后来各种换皮的安卓小说app,再到自己写书源、调正则、改排版,踩过的坑能装满一个移动硬盘。这几年下来我发现一个很明显的规律:真正决定阅读体验的,从来不是app的图标好不好看、界面炫不炫,而是两件事——这个app能不能把"书源"这件事做扎实,以及它愿不愿意把排版和本地书库管理做细。所谓"书源超强",很多新人的理解是"里面塞了几万个源,打开就能搜到任何书",但从一个实际维护者的角度看,这个理解方向就偏了。书源的本质是一份抓取规则,它解决的是"内容从哪来、怎么解析、怎么落到你的屏幕上"这条链路的问题;而app解决的是"规则怎么被高效执行、内容怎么被排版得让人看得下去"的问题。这两个东西是分工的,缺一个都不行。

这篇文章我想按从业者的思路,把四款我长期用过、并且现在还在用的安卓阅读app拆开讲:它们各自适合什么样的场景、书源体系怎么设计、实操里怎么配置、哪些地方最容易翻车、翻车了按什么顺序排查。适合两类人看:一类是刚接触安卓阅读app、被各种"万源包""一键导入"搞晕的新手,另一类是已经用了几年、但总觉得订阅列表越来越乱、源动不动就失效的老用户。我会尽量把"为什么这么做"讲清楚,把参数和步骤落到可以照着抄的程度,也会明确说清楚哪些做法我不推荐、理由是什么。

1. 书源不是"资源包",先把它当成一份抓取规则

我见过太多人把书源理解成"下载一个JSON文件,导入,然后就能看了"。这个理解在前几年可能还凑合,现在基本等于给自己找麻烦。因为任何一个源的可用性都建立在对方站点的页面结构之上,页面一改版,规则立刻报废。所以真正稳定的使用方式,不是囤源,而是理解源的结构,能自己判断一个源为什么坏、坏在哪一段、还能不能救。这个认知转变一旦完成,你会发现自己的书架反而变干净了:常驻的源可能只有五六个,但每一个你都心里有数。

1.1 一次完整的"搜到书"要经过三次抓取

很多人以为搜书就是一次请求,实际上在阅读类app里,从你输入关键词到正文出现,标准流程是三个独立环节:

  • 搜索环节:拿关键词去请求搜索接口,返回一个列表,里面包含书名、作者、封面、简介、书籍详情页链接。这一环决定了"能不能找到这本书"。
  • 目录环节:进入书籍详情页后,再请求一次,解析出章节目录,拿到每一章的链接。这一环决定了"章节全不全、顺序对不对"。
  • 正文环节:逐章请求正文页,解析出文本内容,做清洗(去广告尾巴、去无关标签、处理分页),再交给排版引擎。这一环决定了"读起来爽不爽"。

三个环节的规则在配置文件里是分开写的,各自有独立的字段。这就解释了为什么你经常遇到"能搜到书,但点进去章节是空的""目录正常,正文一片空白"这类现象——不是源"整体失效"了,而是其中某一个环节的解析规则跟不上对方页面的变化。能分清这一点,排查效率会直接翻倍:先定位是哪一环出问题,再去改对应那一段规则,而不是把整个源删掉重找。

1.2 一份书源的最小结构长什么样

我把常见的字段用伪JSON示意一下,这里用的是通用写法,字段名以你实际使用的app文档为准。关键在于理解每一段在干什么:

{ "bookSourceName": "示例个人博客源", "bookSourceUrl": "https://example.com", "bookSourceGroup": "自建-稳定", "searchUrl": "/search?q={{key}}", "ruleSearch": { "bookList": "@css:.result-list .item", "name": "@css:.title@text", "author": "@css:.author@text", "bookUrl": "@css:a@href" }, "ruleToc": { "chapterList": "@css:#chapter-list li", "chapterName": "@css:a@text", "chapterUrl": "@css:a@href" }, "ruleContent": { "content": "@css:#content@html" } }

几个关键点值得单独说。第一,{{key}}是关键词占位符,app会把你的搜索词做URL编码后填进去,所以搜索链接里不要自己再手动编码,否则会出现关键词搜不出东西的情况。第二,选择器前缀(@css:、@json:、@xpath:)告诉引擎用哪种解析方式,绝大多数网页用CSS选择器就够了,返回JSON接口的站点用JSON路径更省事。第三,@text和@html的区别:前者只取纯文本,后者保留内部标签。正文这一环通常要先取@html,再用替换规则把不需要的标签和尾部内容清掉,直接取@text往往会把段落之间的换行也一起吃掉,变成一整坨。

1.3 先划边界:哪些源值得你自己维护

这里我要说一个我自己的取舍原则,也是合规与可持续性上的底线:我自建的源,只对接三类内容——公开授权的免费作品、公共领域的经典文本、以及我自己有权限访问的个人站点或自建服务。理由很实际:第一,这三类内容的页面结构通常比较稳定,规则能活很久,维护成本低;第二,它们不会因为一次侵权投诉就从整个互联网上消失,你的书架不会突然空一半;第三,也是最重要的一点,你自己维护的东西,责任边界是清晰的。

基于这个原则,网上那些动辄打包几万个源的合集,我基本不用。原因不是它们"不好用",而是它们不可维护:你根本不知道某个源背后是什么、什么时候会变、里面会不会混进不适合的内容。一个失效的源混在几百个源里,你根本定位不到,搜索时反而会拖慢响应、污染结果列表。我现在的做法是常驻源控制在两位数以内,全部按用途分组,比如"本地书库""公共文本""个人订阅",每一组我都能说出它为什么在这儿。

提示:判断一个源要不要留,问自己三个问题——它的内容来源我能说清楚吗?页面改版后我有没有能力改规则?它失效了会影响我多少本书?三个都答不上来,就别留。

2. 四款App的定位拆解与选型逻辑

下面这四款,是我认为在安卓生态里各自把某一件事做到了"够专业"的代表。它们并不是同一种产品,定位差异很大,所以我不建议你只留一个——合理的做法是按场景装两到三个:一个负责聚合检索,一个负责本地精品排版,一个负责跨设备和墨水屏。

2.1 开源阅读(Legado):书源引擎型选手

这款是我心里的第一顺位,而且位置很稳。它最大的价值在于把书源做成了一个可编程的体系,而不是把源藏起来让你只能导入。你能看到规则、能改规则、能调试规则,还能按分组批量管理、单独启用禁用、设置超时和并发。它支持自定义搜索、发现(分类浏览)、RSS订阅,甚至能自己写简单的JS处理逻辑来应对那些需要动态计算的接口。

它的强项是"覆盖面"和"自动化",弱项也很明显:默认排版比较朴素,初次打开会觉得字体、行距、页边距都偏"工程风"。但这恰恰是可调的——它的排版选项给得非常细,只要花二十分钟调一次,体验能追平很多商业阅读器。另一个新手容易忽略的点是它的订阅与更新机制:书源可以设置自动更新,但我不建议全开,因为一次批量更新可能会把几个原本能用的源覆盖成新版本,结果反而弄坏。我的做法是锁住自己改过的源,只让未修改的源参与更新。

2.2 静读天下(Moon+ Reader):本地排版的天花板

如果你的书大部分是本地文件——TXT、EPUB、MOBI、PDF——那这款的排版能力是绕不过去的。它处理EPUB的目录、脚注、内嵌字体、CSS样式都比较到位,尤其处理大体积TXT的分章这件事上,它提供的分章规则比大多数同类产品灵活:可以按"第X章"匹配,也可以按正则匹配,还能设定每多少字自动切一节。

我用它主要做两件事:一是把从别处整理好的、排版要求高的书放进来精读;二是做长篇TXT的预处理——很多网上流传的TXT是全本一坨,没有目录。我一般先用静读天下试分章,看规则能不能吃下这本;吃不下就退回电脑端用脚本处理,再传回来。它的问题是商业版和免费版功能有差异,且它本身不提供书源体系,所以它和Legado是互补关系,不是替代关系。

2.3 Librera:开源本地阅读器的全能派

这是一款开源阅读器,格式支持极广,接口开放,对TXT、EPUB、PDF、漫画压缩包、DjVu这些都能处理。我把它当作本地书库的管理中枢:它的文件浏览逻辑比较接近"文件夹思维",导入整个目录后能按文件夹结构组织,对喜欢自己整理书库的人非常友好。它还能自定义界面布局、支持多种翻页动画、支持文字转语音。

它和静读天下的差异在于:静读天下的默认排版更"精致",Librera的可配置性更"底层"。如果你想连工具栏图标、点击区域、手势映射都自己定,那就用Librera;如果你只想打开就能好看地读,静读天下更省事。我在旧平板上装的就是Librera——它在中低配设备上的流畅度表现会更好一些。

2.4 KOReader:墨水屏和跨平台的异类

这一款严格说是跨界产品,它的主场是墨水屏设备和电子纸阅读器,但安卓版同样可用。它最特别的地方在于重排引擎:能把PDF重新排版成一页页适合小屏阅读的文本流,也能对EPUB做深度样式覆盖。它支持大量词典、划词翻译、阅读统计、手势自定义,还能通过局域网把书直接推送到设备上。

我把它当作"深度阅读"的最后一环:需要做笔记、需要查词、需要啃一本排版复杂的书时,用它。它的学习曲线是四款里最陡的,菜单层级深、术语偏专业,新手第一次打开容易懵。我的建议是先用默认配置读一本书,遇到具体痛点再去搜对应设置,别一上来就把设置菜单翻个底朝天。

2.5 四款横向对比

维度Legado静读天下LibreraKOReader
核心定位聚合检索+书源引擎本地精排版本地全能管理深度阅读+重排
书源体系完整支持,可自建不支持不支持不支持
格式覆盖网络源为主,兼顾本地EPUB/TXT/MOBI/PDF极广,含漫画压缩包EPUB/PDF重排强
排版可调性中高,需手动调高,默认就好高,偏底层极高,偏专业
上手难度中低中高
适合场景追连载、跨源搜书精读本地书书库整理、旧设备墨水屏、啃硬书
我的常驻位置主力检索主力精读备用管理深度阅读

这张表我建议你截个图,因为它基本就是你选型时的决策树:追更用Legado,精读用静读天下,整理用Librera,啃书用KOReader。别指望一款全包,那只会让你在每个场景都妥协。

3. 动手:从装好到能顺畅看书的完整流程

这一节我按顺序走一遍,从安装到能顺畅读书。你如果是新手,照着走一遍就够用了;如果你已经装好了,可以直接跳到3.3和3.4看配置细节。

3.1 安装与基础设置的三个动作

安装这件事没什么好说的,从官方渠道或者开源项目的发布页拿安装包就行。我要强调的是装完之后这三件事一定要做:

第一,关掉电池优化。安卓系统对后台进程的限制越来越严,阅读类app在后台被冻结后,最容易出现的现象是"自动更新书源失败""断点续传丢进度""章节目录加载到一半卡住"。把阅读app加入电池白名单,实测下来能减少一大半莫名其妙的加载失败。

第二,设置一个固定的书库目录。不要让它默认散落在各个下载文件夹里。我的习惯是在内部存储根目录建一个Books目录,下面再按网络连载、完结整理、待处理分三个子目录。这样做的价值在于:备份时只需要备份一个目录;导入时不会把乱七八糟的临时文件一起扫进来;书多了之后你还能靠目录结构找书,而不是靠app的搜索。

第三,把默认字体换成你眼睛舒服的。这个听起来是小事,但我见过太多人抱怨"看久了眼睛累",最后发现是用着系统默认字体加上默认行距在窄屏上读。换一个笔画对比度低的字体(比如各类思源黑体的衍生版本),行距从1.0调到1.5左右,阅读疲劳感会明显下降。

3.2 本地书库的导入与目录修复

本地书的导入流程大同小异,但导入之后的目录修复才是真正决定体验的一步。以TXT为例,常见情况有三种:

  • 自带目录:文件里已经有"第一章 XXX"这样的行。这种情况直接用分章规则匹配即可,规则一般写成第[一二三四五六七八九十百千0-9]+章.*这种形式。
  • 分隔符目录:用小节符号、空行或者特定字符串分隔。这种情况要先把分隔符统一,再按它切。
  • 完全无目录:整本一坨。这种我一般不在手机上处理,因为手机端的分章规则很难应对目录缺失后的异常情况。我的做法是在电脑上用脚本按章节关键词切分,生成带目录的TXT或EPUB再传回手机。

导入完成后一定要翻到书的中后段点几章看看,重点检查三件事:章节顺序有没有乱(尤其是"第X章"和"第X节"混用的书)、有没有把正文里的"第一章"这种词误判成章节标题、有没有把作者的话或版权声明切成了独立章节。我踩过的坑是:一本穿插了大量"笔者在第一章提到过"这类句子的书,分章规则把正文切得稀碎,最后只能改用"整行完全匹配"的方式来修。

3.3 自定义书源的实操:先做一个能跑通的最小版本

很多人第一次写书源,上来就照着别人的复杂配置抄,抄完发现跑不通,还不知道哪错了。我的建议是永远从一个最小可跑通的版本开始,跑通再加密。步骤是这样的:

第一步,在浏览器里手动走一遍流程。打开目标站点,搜一个词,看搜索结果的URL长什么样、结果列表的HTML结构是什么、详情页里目录在哪、正文在哪个容器里。这一步是整个流程里最耗时间但也最关键的,你对页面结构的理解程度直接决定了规则能活多久。

第二步,填最少的字段。只写searchUrl和ruleSearch里的bookList、name、bookUrl三项,然后去app里搜一个词,看能不能出结果。能出,说明搜索环节通了。

第三步,补目录规则。加上ruleToc的三个字段,点进一本书看目录能不能出来。这里最常见的错误是chapterList选错了层级——选到了外层容器而不是每个章节项,结果只会解析出一个章节,或者干脆是空的。判断方法很简单:选中器要选到"重复出现的那一层",也就是页面上章节列表里每一个<li>或<div>。

第四步,补正文规则。加上ruleContent,点开一章看内容出不出。如果出的是HTML标签,就在规则后面接替换;如果整章空白,大概率是正文内容在页面加载后才渲染,这种情况就得考虑用动态方式处理,或者干脆放弃这个源。

第五步,做清洗。正文尾部常见的"本章未完,请点击下一页""更多精彩请关注XXX"这类内容,用替换规则处理掉。格式一般是原内容##替换后的内容,多项替换用换行分隔。这一步一定要做,不然读起来非常影响沉浸感。

3.4 阅读参数:我调过的几个关键值

排版这块我调了很多次,最后稳定下来的配置大概是这样的,不一定适合你,但可以作为起点:

  • 字体大小:手机端18sp左右,平板上22sp左右。别贪小,小字号会让你不自觉地拉近眼睛。
  • 行距:1.5倍。低于1.3会显得挤,高于1.8换行时容易跳行。
  • 段间距:0.5倍行距。这个值能让段落边界清晰,但不至于出现大片空白。
  • 页边距:左右各15到20像素。太窄会让视线贴着屏幕边缘走,太宽则每行字数太少、频繁换行。
  • 翻页方式:我用仿真翻页的时长设在300毫秒左右,太慢会有迟滞感,太快会晕。
  • 背景色:不要用纯白和纯黑。米色(类似#F5F1E8)在白天最舒服,夜间用深灰而不是纯黑,纯黑在OLED屏上滚动时容易出现拖影感。

这些参数调整的逻辑其实就一条:降低视觉系统的负担。阅读是长时间的静态用眼,任何一点不协调都会被时间放大。

3.5 缓存与离线:决定你在地铁上能不能看书

预缓存这个功能,我建议一定要用。设置里通常可以配置"自动缓存接下来的N章",我一般设20章左右。理由很实际:通勤、电梯、地下车库这些场景里网络是断断续续的,如果每次翻页都要请求,体验会非常糟。

但缓存策略里有几个坑要注意。一是缓存会占空间,一本几百万字的长篇全缓存下来能吃掉好几百兆,建议设定单本缓存上限,或者读完就清。二是缓存和源绑定,如果你换了一个源,旧缓存不会自动跟着走,可能出现"同一章两个源内容不一样"的情况。我的做法是:一旦确定用哪个源读某本书,就不再换源,避免进度和缓存错位。三是缓存失败要有兜底,有些app在缓存失败时会静默跳过,你读到那一章才会发现是空白页,所以定期抽查几章中后段内容是必要的。

4. 书源失效与阅读异常:排查实录

这一节是我觉得整篇文章最值钱的部分,因为前面都是"怎么装怎么配",而这里讲的是出了问题怎么办。我把自己遇到过的典型情况整理成了一张速查表,后面再讲排查顺序。

4.1 常见问题速查表

现象最可能的原因处理方向
搜索没结果搜索链接失效或关键词编码重复浏览器手动验证链接
能搜到但目录为空chapterList层级选错改为选中重复项那一层
目录正常但正文空白正文内容动态加载或选择器错检查容器、考虑放弃该源
正文带一堆标签用了@html但没做清洗补替换规则
只有前几章目录分页未处理检查是否有下一页参数
章节顺序错乱页面本身就是倒序调整或加反转处理
读几章后卡住触发站点频率限制调低并发、加请求间隔
整体变慢启用源太多,逐个尝试超时精简启用列表、按组启用
自动更新后全坏更新覆盖了自改规则锁定已修改的源
进度丢失后台被系统冻结加入电池白名单

4.2 排查顺序:从网络到规则,别倒着来

我遇到的绝大多数人,排查方向是反的——源一坏,第一反应是"我改改规则"。正确顺序应该是从外到内:

第一步,验证网络和目标站点是否可达。用浏览器直接打开站点,如果打不开,那和你的规则一毛钱关系都没有,等站点恢复或者换源。第二步,验证搜索链接和参数。手动把关键词替换进URL,看返回的页面里到底有没有你想要的结果列表。这一步能排除一半的问题。第三步,验证选择器。在浏览器的开发者工具里用选择器去查,数一数匹配到多少个元素,是不是你期望的数量。第四步,才轮到改规则。

这个顺序的价值在于,它避免你在一个已经死掉的源上浪费时间。我见过有人对着一个已经改版三次的站点调了两小时规则,最后发现人家整个结构都换成前端渲染了,规则再怎么写也白搭。

4.3 排版、编码与目录的疑难杂症

除了源的问题,还有一类问题出在"内容本身"上。编码问题最常见:一本GBK编码的TXT用UTF-8打开,满屏乱码。处理方式是在导入时手动指定编码,或者事先用工具转成UTF-8。章节标题重复也常见:有些书每一章标题前都带书名,导致目录看起来一长串重复内容,这个用替换规则批量去掉前缀就行。段落粘连:正文所有段落挤成一坨,没有换行。这种情况通常是源页面用<br>做换行,而你取的是@text,换行被吃掉了。解决办法是取@html后把<br>替换成换行符,再把其他标签清掉。

还有一种比较隐蔽的问题:目录里有章节,但点进去内容对不上。这通常是因为站点对同一本书提供了多个版本(不同译者、不同排版),而目录和正文分别指向了不同版本。这种情况我没有特别好的自动解决办法,只能手动换源,或者接受它。

4.4 性能与耗电:被忽略的隐形体验

这点很少有人提,但长期用下来影响很大。启用太多源会显著增加搜索耗时,因为app需要逐个请求、逐个等待超时。我的经验是常驻启用源不要超过十个,其余的按需临时启用。请求间隔不要太激进,适当加一点延迟,避免短时间高频请求。正文页面的图片如果不需要,就关掉图片加载,这会明显降低流量和内存占用。

耗电方面,罪魁祸首通常是动画效果和后台自动更新。仿真翻页虽然好看,但持续渲染对GPU有压力;后台自动更新如果频率设得高,会在你不注意的时候反复唤醒网络模块。我的设置是翻页动画适度、自动更新改成手动或低频,实测下来一天两小时的阅读量,耗电占比能控制在一个比较低的水平。

注意:如果发现app在后台悄悄消耗流量,优先检查"自动更新"和"预缓存"这两项,几乎九成的情况都出在这里。

5. 进阶:把阅读器用成个人知识库

走到这一步,你已经不只是在"看小说"了。这四个app的组合其实可以承载更多用法,我分享三个我自己常用的方向。

5.1 用RSS订阅把碎片阅读收进同一个入口

Legado这类支持自定义订阅的阅读器,可以订阅公开的RSS源。我个人的用法是:把几个常看的技术博客、行业资讯、公开的专栏更新,全部做成RSS源收进同一个app。好处是所有阅读行为集中在一个界面里,而且没有推荐算法的干扰——你订阅什么就读到什么,不会被"猜你喜欢"带着走。

配置上要注意的是,RSS源的质量直接决定体验:更新频率过高(比如每分钟一更的)会让列表爆炸,所以我会给源设置保留条数上限和更新间隔。另外,RSS正文最好只保留摘要,全文抓取虽然方便,但一旦源站允许的内容范围有限,抓全文容易触发限制,反而不稳定。

5.2 用TTS把"看"变成"听"

安卓系统的TTS引擎现在做得不错,配合阅读器里的朗读功能,通勤、做家务、散步的时候都能"读"书。我的实操建议是三条:一是选择支持长段朗读的引擎,短句拼接的机械感会强很多;二是把朗读语速调到略高于自然语速,实测1.2到1.4倍之间最容易保持注意力;三是朗读前先确认章节已缓存,否则朗读到一半卡在网络请求上会非常打断节奏。

这套用法的隐藏价值在于,它让那些"一直想读但没时间读"的长篇有了出口。我自己的很多经典作品都是靠听完成的初读,之后再挑感兴趣的章节回读一遍。

5.3 备份与多设备同步:别等丢进度才想起

最后说备份。阅读进度、书签、笔记、书源配置,这些东西一旦丢,损失比你想的大。备份策略我分成三层:

  • 底层:书源配置导出。把配置导出成一个JSON文件,单独存一份在云盘和本地各一份,每次大改之后重新导出一次。
  • 中层:书库目录整体备份。那个固定的Books目录定期打包,尤其是你手工整理过的、带目录的版本,这些是真正的"劳动成果"。
  • 上层:阅读进度与笔记。部分app支持通过自建服务或第三方存储同步,我建议至少保证换设备时能手动导出导入一次。

同步这件事我的态度是:不要迷信自动同步。自动同步的失败往往是静默的——你以为同步了,换设备一看还是旧的。定期手动做一次全量备份,比任何自动方案都可靠。

我个人在实际操作中的体会是,折腾阅读器这件事,最后拼的不是谁的源多、谁的配置花哨,而是谁把链路理得最清楚。我早期囤了几百个源,每天在失效和替换里打转,读的书反而少了;后来精简单个位数常驻源、把本地书库整理干净、参数调到自己眼睛舒服,阅读量才真正上来。如果你现在正卡在"源一大堆但一本都读不踏实"的阶段,我的建议是先做减法:留下一两个你完全说得清来源的源,把一本本地书从导入、分章、排版到读完整本走一遍,你对这套工具的理解会比再看十篇教程都深。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/1 1:07:34

AI工程从零开始:数据、模型与部署的完整落地指南

1. 项目概述与学习起点1.1 为什么“从零开始”往往是最难的操作如果你搜过“ai-engineering”&#xff0c;大概率会看到两类内容&#xff1a;一类是铺天盖地的课程广告&#xff0c;从“七天入门AI”到“三个月拿下大厂Offer”&#xff1b;另一类是各种知识星球、付费社群里的大…

作者头像 李华
网站建设 2026/10/1 1:07:30

ESP32-P4NRW32X核心板实战:无无线RISC-V主控的算力与内存优势

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/1 1:06:59

Vue + AntV G6 + Element Plus 构建字段血缘关系图实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/1 1:06:05

电机控制必知:IIR数字滤波器在FOC与高频注入中的应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/1 1:05:47

行人重识别数据集全解析:选型、使用与自制方法

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/1 1:04:49

SSA-BP+NSGAII:麻雀搜索优化BP超参数与Pareto前沿

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华