<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>扔物线</title>
    <link>https://rengwuxian.com/</link>
    <description>扔物线（朱凯）的技术文章：Android、Kotlin、Compose 与 AI 编程</description>
    <language>zh-CN</language>
    <atom:link href="https://rengwuxian.com/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>【性能优化】真有那么慢？Java 和 Kotlin 的反射</title>
      <link>https://rengwuxian.com/blog/reflection/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/reflection/</guid>
      <pubDate>Fri, 27 Dec 2024 10:02:13 GMT</pubDate>
      <description>反射比普通调用慢一百倍，是真的；但你随便用基本也不会卡，也是真的。</description>
    </item>
    <item>
      <title>【泛型 Plus】Kotlin 的加强版类型推断：@BuilderInference</title>
      <link>https://rengwuxian.com/blog/builder-inference/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/builder-inference/</guid>
      <pubDate>Thu, 14 Nov 2024 08:21:06 GMT</pubDate>
      <description>flow { emit() }：Kotlin 钻进大括号里的类型推断，Java 是做不到的。</description>
    </item>
    <item>
      <title>【榨干 Kotlin】把函数当类用，Compose 风骚的作用域机制</title>
      <link>https://rengwuxian.com/blog/dslmarker/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/dslmarker/</guid>
      <pubDate>Fri, 22 Mar 2024 01:03:10 GMT</pubDate>
      <description>Compose 的某些 API 被限定在指定的组件内部使用，而这并不是 Kotlin 的默认能力。</description>
    </item>
    <item>
      <title>两个 this 一起用？Kotlin 的成员扩展函数和 implicit receiver</title>
      <link>https://rengwuxian.com/blog/implicit-receiver/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/implicit-receiver/</guid>
      <pubDate>Tue, 27 Feb 2024 07:56:08 GMT</pubDate>
      <description>你天天在用、却可能没听过名字的东西，协程还重度依赖它。</description>
    </item>
    <item>
      <title>类声明的右边也能写 by？Kotlin 的接口委托是这么用的</title>
      <link>https://rengwuxian.com/blog/delegation/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/delegation/</guid>
      <pubDate>Thu, 28 Dec 2023 01:52:00 GMT</pubDate>
      <description>接口委托，一个很实用的 Kotlin 特性。</description>
    </item>
    <item>
      <title>浮点数的坑很深，但不多</title>
      <link>https://rengwuxian.com/blog/float/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/float/</guid>
      <pubDate>Wed, 27 Dec 2023 01:32:25 GMT</pubDate>
      <description>float 和 double 怎么选？0.1 + 0.2 为什么不等于 0.3？</description>
    </item>
    <item>
      <title>这玩意真的有用吗？对，是的！Kotlin 的 Nothing 详解</title>
      <link>https://rengwuxian.com/blog/kotlin-nothing/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/kotlin-nothing/</guid>
      <pubDate>Thu, 11 May 2023 08:15:58 GMT</pubDate>
      <description>其实它是个非常便捷的工具类，尤其在写项目框架和 SDK 的时候。</description>
    </item>
    <item>
      <title>Unit 为啥还能当函数参数？面向实用的 Kotlin Unit 详解</title>
      <link>https://rengwuxian.com/blog/kotlin-unit/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/kotlin-unit/</guid>
      <pubDate>Mon, 08 May 2023 07:49:55 GMT</pubDate>
      <description>void 为什么要变成 Unit？这可不是 Kotlin 的叛逆。</description>
    </item>
    <item>
      <title>【世纪纠结】Jetpack Compose 和自定义 View，学哪个？</title>
      <link>https://rengwuxian.com/blog/compose-vs-view/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/compose-vs-view/</guid>
      <pubDate>Mon, 31 Oct 2022 10:51:51 GMT</pubDate>
      <description>Compose 取代自定义 View 是必然的，但短期内完不成。</description>
    </item>
    <item>
      <title>【面试黑洞】Android 的键值对存储有没有最优解？</title>
      <link>https://rengwuxian.com/blog/android-kv-storage/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/android-kv-storage/</guid>
      <pubDate>Thu, 23 Jun 2022 04:28:13 GMT</pubDate>
      <description>MMKV 天下无敌无脑选？那你这几年可能被骗了。</description>
    </item>
    <item>
      <title>属性动画为什么不能移植到 Jetpack Compose？</title>
      <link>https://rengwuxian.com/blog/compose-animation/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/compose-animation/</guid>
      <pubDate>Fri, 15 Apr 2022 12:02:14 GMT</pubDate>
      <description>照搬过去不香么？香，但不搬更香。</description>
    </item>
    <item>
      <title>【带源码】我又用Jetpack Compose做了个示例App，是怎样的体验？</title>
      <link>https://rengwuxian.com/blog/compose-weiguan-app/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/compose-weiguan-app/</guid>
      <pubDate>Mon, 21 Mar 2022 08:17:19 GMT</pubDate>
      <description>能浏览，能点开，还有动画，代码还不多。</description>
    </item>
    <item>
      <title>为什么要成为 GDE（谷歌认证开发专家）？我发现了盲点</title>
      <link>https://rengwuxian.com/blog/gde-sense/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/gde-sense/</guid>
      <pubDate>Tue, 21 Sep 2021 22:00:00 GMT</pubDate>
      <description>最初我加入 GDE 是因为工作原因，但慢慢地我发现，它还有更重要的意义。</description>
    </item>
    <item>
      <title>LiveData：还没普及就让我去世？我去你的 Kotlin 协程</title>
      <link>https://rengwuxian.com/blog/livedata/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/livedata/</guid>
      <pubDate>Mon, 09 Aug 2021 22:01:00 GMT</pubDate>
      <description>I/O 大会上有人问「你们要废弃 LiveData 了吗」，这问题不是瞎问的。</description>
    </item>
    <item>
      <title>View 嵌套太深会卡？来用 Jetpack Compose，随便套——Intrinsic Measurement</title>
      <link>https://rengwuxian.com/blog/compose-intrinsic-measurement/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/compose-intrinsic-measurement/</guid>
      <pubDate>Thu, 06 May 2021 00:30:00 GMT</pubDate>
      <description>Compose 的杀手级性能优势。</description>
    </item>
    <item>
      <title>扔物线学堂的一封致歉信</title>
      <link>https://rengwuxian.com/blog/hashmap-announcement/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/hashmap-announcement/</guid>
      <pubDate>Wed, 24 Mar 2021 03:00:00 GMT</pubDate>
      <description>我们的收费课里有一节《HashMap 源码解析》，违背了我自己的原则。</description>
    </item>
    <item>
      <title>声明式 UI？Android 官方怒推的 Jetpack Compose 到底是什么</title>
      <link>https://rengwuxian.com/blog/compose-3/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/compose-3/</guid>
      <pubDate>Wed, 03 Mar 2021 02:58:00 GMT</pubDate>
      <description>Compose 的代码和 XML 布局长得大同小异，怎么就「命令式」了？</description>
    </item>
    <item>
      <title>我用 Jetpack Compose 写了个春节版微信主题，带炸弹特效</title>
      <link>https://rengwuxian.com/blog/compose-2/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/compose-2/</guid>
      <pubDate>Fri, 12 Feb 2021 02:56:00 GMT</pubDate>
      <description>趁微信更新 8.0，我用 Jetpack Compose 复刻了它的部分界面，代码已开源。</description>
    </item>
    <item>
      <title>谷歌开发者大会扔物线演讲原稿整理：Jetpack Compose</title>
      <link>https://rengwuxian.com/blog/compose-1/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/compose-1/</guid>
      <pubDate>Thu, 19 Nov 2020 02:43:00 GMT</pubDate>
      <description>GDG DevFest 2020 演讲整理稿：给 Compose 扒个皮。</description>
    </item>
    <item>
      <title>Android 面试黑洞——当我按下 Home 键再切回来，会发生什么？</title>
      <link>https://rengwuxian.com/blog/android-activity/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/android-activity/</guid>
      <pubDate>Thu, 15 Oct 2020 02:40:00 GMT</pubDate>
      <description>以回退栈为中心的 launchMode 规则，很多拿它考人的面试官自己也没真搞懂。</description>
    </item>
    <item>
      <title>Kotlin 源码里成吨的 noinline 和 crossinline 是干嘛的？看完这个视频你转头也写了一吨</title>
      <link>https://rengwuxian.com/blog/kotlin-noinline-crossinline/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/kotlin-noinline-crossinline/</guid>
      <pubDate>Fri, 04 Sep 2020 02:36:00 GMT</pubDate>
      <description>看起来好像很复杂，实际上……的确很复杂，但写高阶函数离不开它。</description>
    </item>
    <item>
      <title>从月薪 2000 到月入 20 万，我这一路上的可复制与不可复制</title>
      <link>https://rengwuxian.com/blog/career-growth/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/career-growth/</guid>
      <pubDate>Thu, 20 Aug 2020 02:34:00 GMT</pubDate>
      <description>银行外包、独立开发、北漂、Flipboard、辞职创业，我把自己拆解。</description>
    </item>
    <item>
      <title>我是扔物线，请允许我我真诚地装个逼</title>
      <link>https://rengwuxian.com/blog/rengwuxian/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/rengwuxian/</guid>
      <pubDate>Wed, 05 Aug 2020 02:32:00 GMT</pubDate>
      <description>大家只看见扔物线赚钱，没看见扔物线吃屎——这次请允许我真诚地装个逼。</description>
    </item>
    <item>
      <title>从 Dagger 到 Hilt，谷歌为什么执着于让我们使用依赖注入？</title>
      <link>https://rengwuxian.com/blog/dagger-to-hilt/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/dagger-to-hilt/</guid>
      <pubDate>Wed, 29 Jul 2020 02:30:00 GMT</pubDate>
      <description>牛逼、高端、我才不用——是大家给 Dagger 的回答。但其实，你早就在用依赖注入了。</description>
    </item>
    <item>
      <title>我，扔物线，偷摸运营了两年的知识星球，开放了！</title>
      <link>https://rengwuxian.com/blog/tech-circle/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/tech-circle/</guid>
      <pubDate>Thu, 18 Jun 2020 02:27:00 GMT</pubDate>
      <description>偷摸运营了两年、一直只对学员开放的知识星球，终于公开了。</description>
    </item>
    <item>
      <title>我被 Kotlin 和 Android 两个官方约谈了</title>
      <link>https://rengwuxian.com/blog/kotlin-android-talk/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/kotlin-android-talk/</guid>
      <pubDate>Wed, 17 Jun 2020 02:21:00 GMT</pubDate>
      <description>Android 会抛弃 Java 吗？Compose 什么时候正式发布？我当面问了 JetBrains 和 Google ，并得到了正面回答。</description>
    </item>
    <item>
      <title>奔走相告，即刻 App 回归——它到底为什么让人念念不忘？</title>
      <link>https://rengwuxian.com/blog/jike-back/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/jike-back/</guid>
      <pubDate>Wed, 10 Jun 2020 02:19:00 GMT</pubDate>
      <description>沉寂了一年，黄即终于回来了。</description>
    </item>
    <item>
      <title>「内存抖动」？别再吓唬面试者们了行吗</title>
      <link>https://rengwuxian.com/blog/memory-churn/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/memory-churn/</guid>
      <pubDate>Thu, 28 May 2020 02:14:00 GMT</pubDate>
      <description>拿这个词考面试者没价值，它背后的原因和解决方案才有意义。</description>
    </item>
    <item>
      <title>会写「18.dp」只是个入门——Kotlin 的扩展函数和扩展属性（Extension Functions  Properties）</title>
      <link>https://rengwuxian.com/blog/kotlin-extensions/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/kotlin-extensions/</guid>
      <pubDate>Fri, 15 May 2020 02:11:00 GMT</pubDate>
      <description>扩展函数的引用、写在类里的成员扩展函数、有无 Receiver 的函数类型互转。</description>
    </item>
    <item>
      <title>Kotlin 的 Lambda 表达式，大多数人学得连皮毛都不算</title>
      <link>https://rengwuxian.com/blog/kotlin-lambda/</link>
      <guid isPermaLink="true">https://rengwuxian.com/blog/kotlin-lambda/</guid>
      <pubDate>Tue, 07 Apr 2020 02:08:00 GMT</pubDate>
      <description>匿名函数不是函数，Lambda 也不是玄学代码块。</description>
    </item>
  </channel>
</rss>
