<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[╰つ栺尖篴夢ゞ]]></title><description><![CDATA[少一点问别人为什么，多一点问自己凭什么！！*(^^)*]]></description><link>https://blog.youkuaiyun.com/Forever_wj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Forever_wj]]></copyright><item><title><![CDATA[HarmonyOS Next面试题之Worker常驻线程如何通过TaskPool进行多任务并发处理]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/160823730</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/160823730</guid><author>Forever_wj</author><pubDate>Wed, 06 May 2026 14:15:25 +0800</pubDate><description><![CDATA[本文介绍了HarmonyOS Next中Worker与TaskPool结合的高性能后台任务处理方案。核心架构采用Worker作为常驻调度中心，通过主线程下发任务、Worker维护状态、TaskPool执行具体任务的模式，实现了职责分离与高效并发。文章详细展示了图片批量上传的实战案例，包括任务定义、Worker调度中心实现和主线程交互流程。该方案优势在于：Worker管理上下文保持状态，TaskPool提供无状态并发执行，二者结合既保证了任务调度的灵活性，又充分利用了系统资源。]]></description><category></category></item><item><title><![CDATA[HarmonyOS Next面试题之Worker的运行机制和消息通信]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/160660440</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/160660440</guid><author>Forever_wj</author><pubDate>Thu, 30 Apr 2026 17:40:19 +0800</pubDate><description><![CDATA[摘要：本文详细介绍了HarmonyOS Next中Worker线程的运行机制与使用方法。Worker作为轻量级独立线程，基于Actor并发模型运行，适用于计算密集型任务，避免主线程阻塞。文章从Worker创建、线程文件配置、主线程调用到核心API进行了全面说明，并重点阐述了多级Worker生命周期管理的原则，强调&quot;从子到父&quot;的销毁顺序和父Worker存活保障机制。通过代码示例展示了正确使用Worker的方式及常见错误规避方法，为开发者提供了Worker线程开发的完整指导。]]></description><category></category></item><item><title><![CDATA[HarmonyOS Next面试题之TaskPool的运作机制及@Concurrent装饰器的使用]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/160659448</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/160659448</guid><author>Forever_wj</author><pubDate>Thu, 30 Apr 2026 14:58:11 +0800</pubDate><description><![CDATA[HarmonyOS Next的TaskPool是一种高效的多线程管理机制，基于Worker线程封装实现自动化调度。其核心特性包括：1）自动管理线程生命周期，开发者只需关注业务逻辑；2）动态扩缩容机制，根据任务量自动调整工作线程数；3）支持任务优先级设置和取消功能；4）通过@Concurrent装饰器确保线程安全，对并发函数进行编译检查和运行时标记。TaskPool提供execute()方法提交任务，支持单任务和任务组执行，并能返回Promise形式的结果。该系统通过智能调度算法优化资源利用，提升应用性能，特]]></description><category></category></item><item><title><![CDATA[HarmonyOS Next面试题之异步并发Promise和async/await的核心机制]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/160652044</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/160652044</guid><author>Forever_wj</author><pubDate>Thu, 30 Apr 2026 14:16:20 +0800</pubDate><description><![CDATA[本文系统介绍了HarmonyOS Next中的异步并发编程机制。主要内容包括：1）异步编程的核心思想和实现手段，区分了异步I/O任务和多线程并发的适用场景；2）Promise对象的状态机特性及其静态方法all/allSettled/race/any的应用场景；3）async/await语法糖的本质优势，以及与传统Promise链式调用的对比；4）实际开发中的注意事项，如async回调问题、生命周期函数异常处理等；5）深入分析了async/await与多线程的本质区别，以及Promise构造函数内部的同步执行]]></description><category></category></item><item><title><![CDATA[iOS经典面试题之从原理到实战全方位对比堆和栈的区别]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/160626866</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/160626866</guid><author>Forever_wj</author><pubDate>Wed, 29 Apr 2026 15:30:55 +0800</pubDate><description><![CDATA[本文对比了iOS开发中栈与堆内存的核心区别。栈由编译器自动管理，存储局部变量和临时数据，地址连续且访问速度快；堆需手动或ARC管理，存储对象实例和动态内存，地址不连续且访问较慢。通过地址特征、连续性测试和性能基准测试，文章展示了栈在速度上的优势以及堆在灵活性上的特点。最后总结了二者在地址分布、访问速度、适用场景等方面的差异，并提供了使用建议：小数据用栈，大数据和共享对象用堆，避免栈溢出和内存泄漏风险。]]></description><category></category></item><item><title><![CDATA[HarmonyOS Next面试题之线程模型是如何确保UI操作在主线程中执行？]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/160395958</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/160395958</guid><author>Forever_wj</author><pubDate>Wed, 22 Apr 2026 10:25:51 +0800</pubDate><description><![CDATA[本文分析了HarmonyOS Next的UI线程安全机制及其实现方案。系统采用单线程UI模型，强制所有UI操作必须在主线程执行，通过事件循环(EventRunner)串行处理任务，避免多线程竞争导致界面错乱或崩溃。文章通过典型错误案例展示了子线程直接修改UI会触发系统保护机制而崩溃，并提供了三种推荐解决方案：TaskPool+Promise自动回调主线程、EventHandler显式线程切换以及emitter事件总线配合二次切换。其中TaskPool方案最为简洁安全，而EventHandler适合需要精细控]]></description><category></category></item><item><title><![CDATA[HarmonyOS Next面试题之主线程与子线程访问同一个单例，获取的对象是同一个吗？]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/160373458</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/160373458</guid><author>Forever_wj</author><pubDate>Tue, 21 Apr 2026 16:32:34 +0800</pubDate><description><![CDATA[摘要 HarmonyOS NEXT中单例模式的独特行为：基于Actor模型的线程隔离设计使得主线程和子线程获取的单例对象并非同一实例。传统共享内存模型中单例是全局唯一的，但在HarmonyOS NEXT的ArkTS语言中，每个线程拥有独立的引擎实例，内存完全隔离。通过实验验证，子线程修改单例值不会影响主线程中的实例。官方推荐使用&quot;use shared&quot;标记和@Sendable装饰器实现真正的跨线程共享单例，或通过SharedArrayBuffer、消息传递等方案实现数据共享。这种设计虽然]]></description><category></category></item><item><title><![CDATA[HarmonyOS Next面试题之装饰器@Prop与@Link的区别和使用]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/159989939</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/159989939</guid><author>Forever_wj</author><pubDate>Fri, 10 Apr 2026 10:43:25 +0800</pubDate><description><![CDATA[本文对比了ArkUI中@Prop和@Link两种装饰器的区别。@Prop实现单向数据流，子组件可修改但不会同步回父组件，适用于纯展示场景；@Link建立双向绑定，子组件修改会立即同步回父组件，适用于表单交互等场景。文章通过计数器示例演示了两种装饰器的具体使用方式，并指出在ArkUI V2版本中，@Link被@Param+@Event组合替代，以遵循单向数据流的最佳实践。]]></description><category></category></item><item><title><![CDATA[iOS经典面试题之深入解析一个触摸事件是如何识别并执行具体逻辑的]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/159961108</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/159961108</guid><author>Forever_wj</author><pubDate>Wed, 08 Apr 2026 16:36:54 +0800</pubDate><description><![CDATA[iOS触摸事件处理流程分为硬件层、系统层和应用层。硬件层通过IOKit将电容屏信号转换为IOHIDEvent，发送给SpringBoard。系统层由SpringBoard决定目标App并通过mach port转发事件。应用层中，UIApplication将事件转换为UIEvent并放入队列，由主线程RunLoop处理。事件通过Hit-Testing确定第一响应者，沿响应者链传递，手势识别器和UIControl可介入处理。多点触控、3D Touch等特殊场景也有相应机制。整个过程确保了触摸事件的高效处理和精准]]></description><category></category></item><item><title><![CDATA[Web之深入解析Cookie的安全防御与跨域实践]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/159956756</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/159956756</guid><author>Forever_wj</author><pubDate>Wed, 08 Apr 2026 15:29:19 +0800</pubDate><description><![CDATA[Cookie是网站存储在用户浏览器中的小型文本数据，用于识别用户身份和记录偏好。它通过键值对存储信息，并包含Domain、Path、Expires等属性控制作用范围和有效期。常见应用场景包括用户登录状态保持、购物车存储和A/B测试分组。Cookie可由服务端或客户端生成修改，但受HttpOnly和SameSite等安全属性限制。默认遵循同源策略，但在特定条件下可实现跨域共享。使用时需注意编码、路径匹配等细节，并防范CSRF/XSS攻击风险。]]></description><category></category></item><item><title><![CDATA[iOS经典面试题之对于多线程进行for循环自加会出现的结果分析]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/159922804</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/159922804</guid><author>Forever_wj</author><pubDate>Tue, 07 Apr 2026 15:36:22 +0800</pubDate><description><![CDATA[本文分析了多线程并发执行自增操作时的数据竞争问题。当t个线程各自循环m次对共享变量count执行自增操作时，最终结果范围是[m, t×m]。最小值m出现在最极端竞争情况下，所有线程每次自增都读取相同旧值；最大值t×m出现在完全串行化无冲突时。这是由于count++的非原子性导致，底层包含读取、修改、写回三个可能被交叉执行的指令。解决方案包括使用原子操作、锁机制、GCD串行队列或信号量等同步方法。文章通过具体示例和指令级分析，阐明了多线程环境下数据竞争的本质及应对策略。]]></description><category></category></item><item><title><![CDATA[iOS经典面试题之深入解析什么是原子操作]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/159766444</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/159766444</guid><author>Forever_wj</author><pubDate>Thu, 02 Apr 2026 17:21:58 +0800</pubDate><description><![CDATA[iOS开发中的原子操作提供轻量级线程同步，主要包括三种方式：1) Swift 6+的Atomic结构体，提供类型安全的现代方案；2) OSAtomic系列函数(已废弃)，支持整型、布尔值的原子操作；3) OC的atomic属性修饰符，仅保证setter/getter原子性。OSAtomic包含递增/减、CAS、位运算等操作，但需注意地址对齐问题。虽然原子操作比锁性能更高，但复杂场景仍需其他同步机制。建议新项目优先使用Swift的Synchronization框架。]]></description><category></category></item><item><title><![CDATA[Swift经典面试题之深入解析强制解包：从感叹号运算符到可选类型安全处理的全面分析]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/159764443</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/159764443</guid><author>Forever_wj</author><pubDate>Thu, 02 Apr 2026 16:09:15 +0800</pubDate><description><![CDATA[Swift中的强制解包（!）是一种直接从可选类型中取出值的操作，若值为nil会导致程序崩溃。它适用于开发者能100%确定值非nil的情况，但存在严重风险。相比隐式解包可选类型（Type!），强制解包需要手动添加!运算符。安全替代方案包括可选绑定、空合并运算符等。实际开发中应尽量避免强制解包，必须使用时需添加注释说明非nil保证，特别是在处理不可靠数据源时更应谨慎。最佳实践建议优先使用安全解包方式，仅在特殊场景（如IBOutlet）才考虑强制解包。]]></description><category></category></item><item><title><![CDATA[HarmonyOS Next之深入解析使用Grid实现瀑布流网格布局]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/156085177</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/156085177</guid><author>Forever_wj</author><pubDate>Fri, 19 Dec 2025 17:45:42 +0800</pubDate><description><![CDATA[本文介绍了如何在HarmonyOS NEXT中实现图片瀑布流布局。首先定义了包含图片ID、标题、描述、尺寸、作者信息和统计数据的ImageItem接口。使用@State装饰器管理图片数据和UI状态，包括分类选择、排序方式和搜索关键词。通过getFilteredImages方法实现数据过滤和排序功能。最后利用WaterFlow组件构建两列瀑布流布局，每个FlowItem包含图片卡片，支持保持原始宽高比，并集成了收藏按钮和图片信息展示功能。整个布局采用响应式设计，适配不同屏幕尺寸。]]></description><category></category></item><item><title><![CDATA[HarmonyOS Next之深入解析Grid网格布局打造精美的照片相册管理集]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/156082981</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/156082981</guid><author>Forever_wj</author><pubDate>Fri, 19 Dec 2025 15:22:44 +0800</pubDate><description><![CDATA[本文介绍了照片相册应用的基础网格布局实现方案。首先定义了相册和照片的数据模型，包含ID、名称、数量、封面、日期等字段。然后详细展示了页面布局的实现代码：1）使用Text组件实现标签切换功能，通过currentTab状态变量控制样式；2）采用Grid组件实现2列相册视图布局，包含封面图片和相册信息；3）使用3列网格布局展示最近项目，每个项目包含照片和可选的位置信息覆盖层。布局代码展示了ArkUI组件如何通过属性设置实现美观的相册展示效果。]]></description><category></category></item><item><title><![CDATA[HarmonyOS Next之深入解析Grid网格布局列表的交互与状态管理]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/155454470</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/155454470</guid><author>Forever_wj</author><pubDate>Fri, 19 Dec 2025 14:37:20 +0800</pubDate><description><![CDATA[Grid 组件是 ArkUI 框架中强大的网格布局容器，与 GridItem 子组件配合使用可创建灵活的网格布局。该组件支持自定义行列数、尺寸占比控制、子组件跨行列、间距设置和滚动能力等特性。通过 rowsTemplate 和 columnsTemplate 属性可设置网格布局的行列数量与占比，未设置时可通过 layoutDirection 决定排列方式。Grid 还支持绑定 Scroller 对象实现滚动控制，适用于日历翻页等场景。实战中可用于构建商品展示等网格布局，通过设置两列模板和行列间距实现整齐排列]]></description><category></category></item><item><title><![CDATA[HarmonyOS之深入解析如何实现语音朗读能力]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/154743648</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/154743648</guid><author>Forever_wj</author><pubDate>Wed, 12 Nov 2025 17:34:17 +0800</pubDate><description><![CDATA[本文介绍了在HarmonyOS Next中实现语音朗读功能的方法。首先配置必要的网络和定位权限，通过CoreSpeechKit模块的textToSpeech API初始化TTS引擎。采用单例模式封装TextToSpeechManager类管理语音功能，包括设置语言、发音人等参数，添加状态监听回调。实现文本朗读方法，支持控制播放状态，注意文本长度不超过10000字符。最后在应用中导入该工具类即可调用语音朗读功能。该方案可实现应用文本转语音的能力，提高用户体验。]]></description><category></category></item><item><title><![CDATA[HarmonyOS之深入解析多态样式stateStyles的使用]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/154683854</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/154683854</guid><author>Forever_wj</author><pubDate>Tue, 11 Nov 2025 14:13:27 +0800</pubDate><description><![CDATA[摘要： 在HarmonyOS开发中，stateStyles提供了一种高效的方式为组件设置多态样式，根据组件状态（normal、pressed、focused、disabled、selected）自动切换样式，无需手动处理状态逻辑。通过.stateStyles()方法可定义各状态样式，支持与@Styles装饰器联合使用实现复杂样式复用，并能绑定变量实现动态响应。相较于传统onTouch事件管理状态的方式，stateStyles代码更简洁，支持所有组件属性。特别适用于按钮按压效果、禁用状态及Checkbox/R]]></description><category></category></item><item><title><![CDATA[HarmonyOS之深入解析如何根据url下载pdf文件并且在本地显示和预览]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/146553013</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/146553013</guid><author>Forever_wj</author><pubDate>Thu, 27 Mar 2025 14:18:32 +0800</pubDate><description><![CDATA[在HarmonyOS中实现PDF文件的下载、本地存储和预览功能，需要综合运用网络请求、文件管理和文档预览等能力。]]></description><category></category></item><item><title><![CDATA[HarmonyOS之深入解析跳转支付宝小程序完成操作后如何自动返回App]]></title><link>https://blog.youkuaiyun.com/Forever_wj/article/details/146550695</link><guid>https://blog.youkuaiyun.com/Forever_wj/article/details/146550695</guid><author>Forever_wj</author><pubDate>Thu, 27 Mar 2025 10:55:16 +0800</pubDate><description><![CDATA[在HarmonyOS中，通过跳转 alipays://platformapi/startapp?appId=XXXXXXXXXXXX&backSCAppScheme=myAppScheme 调用支付宝功能后，如果需要返回 App，该如何处理呢？]]></description><category></category></item></channel></rss>