SwiftUI 与 Markdown 的势不两立

文章结尾指出,React Native 等框架可提供接近原生的性能,同时拥有更好的文本与渲染模型,且通过原生互操作几乎无需额外成本就能获得这些优势。作者认为在构建富文本长形式聊天界面时,SwiftUI 与苹果原生 SDK 已从优势转为限制,而 React Native 更适合当前需求。

React Native

Jetpack Compose Glimmer 设计幕后

Android XR 是文章所述显示屏 AI 眼镜的扩展现实平台,其界面通过眼镜镜片投射到约一米感知距离。设计需应对真实世界作为背景的挑战,包括色彩饱和度降低、字体需优化视觉角度,以及动效需在 2 秒内缓慢引导注意力而非快速弹出。Glimmer 系统正是为此平台而生,目标是实现环境感知与低干扰交互。

Android XR

Jetpack Compose Glimmer 设计幕后

Jetpack Compose Glimmer 是 Google 为显示屏 AI 眼镜推出的新设计系统,专为 Android XR 体验打造。它重新定义了界面规则:用深色表面代替黑色(黑色实际透明),内容始终明亮以对抗光晕效应,并采用视觉角度而非像素来设定排版最小尺寸 0.6 度。该系统强调环境融合与低干扰动效,解决传统 Material Design 在透明显示上的失效问题。

Jetpack Compose Glimmer

如何构建 v0 的 iOS 应用

本文最终采用 React Native 搭配 Expo 构建 v0 iOS 应用,通过 New Architecture 实现同步高度测量与流畅动画。团队借助该框架实现了接近原生的键盘处理、Liquid Glass 效果及跨平台代码复用,满足了多项严格的聊天交互要求。

React Native

Android 侧载危机

文章提到,即使用户更倾向 Samsung Galaxy Store 等竞争商店,Android 认证设备仍将受 Google 开发者验证政策的统一约束。该政策覆盖全球 95% 以上 Android 设备,意味着用户无论选择何种商店都无法摆脱 Google 的审批控制。

Samsung Galaxy Store

Android 侧载危机

谷歌 Play 商店是 Android 应用的主要官方分发平台。本文对比指出,尽管有恶意应用被移除,但近期仍出现过 224 个恶意应用及 1900 万次恶意下载记录。文章强调即使用户选择其他商店或仓库,仍将受谷歌统一政策的约束。

Google Play Store

Android 侧载危机

侧载指从非厂商批准来源直接安装应用的过程,本文认为该术语带有负面暗示。谷歌宣称侧载不会消失,但新政策要求所有来源必须经过谷歌批准,实际已使其名存实亡。文章强调这只是普通的直接安装,用户本应拥有此权利。

Sideloading

Android 侧载危机

文中说明,Google 今年早些时候关闭 AOSP 开发后,能够秘密构建验证基础设施,从而实施开发者注册法令。该举措直接导致侧载功能被事实终结,打破了 Android 曾依赖的开源透明性承诺。

AOSP

Android 侧载危机

文章推荐访问 keepandroidopen.org,获取联系监管机构和代表的方法,以反对 Google 的开发者验证政策。该站点被定位为消费者和开发者行动入口,旨在推动保持 Android 生态对个人选择与竞争开放。

Keep Android Open

Android 侧载危机

Android 曾被宣传为开放平台,用户可自由在自有设备上安装软件。本文指出谷歌新政策将打破这一承诺,通过强制验证机制限制安装来源。超过 95% 的 Android 认证设备(中国以外地区)都将受此政策影响,违背其最初的开放定位。

Android

Android 侧载危机

F-Droid 是免费开源的 Android 应用仓库,在本文中被定位为用户获取软件的重要替代选择。谷歌的新开发者验证政策将对其构成存在性威胁,因为它依赖于不受谷歌直接审批的直接安装方式。文章指出即使用户选择 F-Droid,也仍将被谷歌单方面政策所约束。

F-Droid

观察 Netflix 的 AV1 调试数据

ADB(Android Debug Bridge)是作者采集Netflix真实码率数据的核心工具。通过Python脚本每5秒从Fire TV读取一次调试信息,覆盖5次观看会话并聚合30秒窗口数据,最终得到各编解码器的最小值、峰值及平均值对比。

ADB

Apple Symbols 考古

Android XR 是 Galaxy XR 头显搭载的操作系统。本文评测文章指出其首次亮相版本存在诸多不足,但仍存在至少一个值得购买的理由。该系统与 Galaxy XR 的 PC VR 使用场景直接相关。

Android XR

平板端和移动端的 Blender 如何适配交互

本文将华为 MatePad 列为多点触控平板设备示例,与 iPad、Surface 等并列,作为 Blender 计划支持的主要计算平台之一。它体现了向平板设备扩展的目标,通过适应触控输入和降低信息密度,让用户能在移动场景下使用完整 3D 功能。该设备被视为未来 Android 平板支持的参考,服务于需要笔输入的专业艺术家。

Huawei MatePad

平板端和移动端的 Blender 如何适配交互

本文中 Android 被定位为 iPad Pro 之后的下一个目标平台,计划未来将 Blender 移植到 Android 以及其他图形平板设备上。移植工作将延续 iPad 的单窗口、触控加手写笔交互模式,并提供任务导向的精简界面。

Android

苹果新的基座模型性能如何?

本文将Android平台描述为与苹果竞争AI优势的对手,Google正通过该平台快速推进AI功能和模型更新。相比苹果的延迟,Android的加速发展被视为对苹果iPhone AI吸引力下降的直接压力来源。

Android

Android API 的幽默命名

本文中该常量是Android 4.0.3新增的Binder事务类型,作用是告知目标应用调用者“喜欢”它,据称可提升应用自尊心,但没有实际点赞计数器。它与TWEET_TRANSACTION同属幽默设计,突出Binder IPC机制中的玩笑成分。

IBinder.LIKE_TRANSACTION

Android API 的幽默命名

本文指出此事务类型在 Android 3.2 Honeycomb 引入,声称用于向目标对象发送推文,但实际不执行任何操作。文档提及消息上限 130 字符,呼应早期 Twitter 限制,纯属玩笑。

IBinder.TWEET_TRANSACTION

Android API 的幽默命名

文章展示LayoutInflater在解析布局时会特别处理未公开的标签,若匹配TAG_1995则返回BlinkLayout实例,并附带“像1995那样狂欢”的注释,体现了布局解析过程中的隐藏幽默。

LayoutInflater

Android API 的幽默命名

本文介绍此常量于 Android 2.3 Gingerbread 引入,用于标识支持五点同时触控的设备。名称直接引用爵士手势,属于开发者可见的趣味命名例子。

PackageManager.FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND

Android API 的幽默命名

BlinkLayout是Android视图系统中隐藏的布局类,能让包裹的子视图像旧版HTML blink标签一样闪烁。它由2011年一次提交引入,提交信息声称“提升LayoutInflater合规性”,至今仍存在于AOSP主分支中。

BlinkLayout

Android API 的幽默命名

ActivityManager.isUserAMonkey()用于判断界面是否正被随机测试工具操作。该方法起源于Android开发期间的真实事件,于Froyo版本进入公开API,可用于限制测试中可能引发真实后果的操作。

ActivityManager.isUserAMonkey()

Android API 的幽默命名

本文围绕Android操作系统公开API中的幽默彩蛋展开,介绍多处开发者可见的玩笑方法与常量,这些内容主要供应用开发者发现而非面向普通用户。

Android

Android API 的幽默命名

本文中该常量是 Android 6 Marshmallow 新增的设备策略,用于限制用户“享受乐趣”。设备所有者可启用它来禁止用户体验欢乐,系统实际用它关闭设置里的 Android 版本彩蛋。文档描述带有讽刺语气,类似 GLaDOS 的风格。

UserManager.DISALLOW_FUN

Android API 的幽默命名

Log.wtf() 用于记录“本不应发生”的严重问题,日志级别为断言级别。文档解释 WTF 代表 What a Terrible Failure,体现了 API 文档的幽默风格。

Log.wtf()

Android API 的幽默命名

该常量自Android 1.0就存在,名称引用《星际迷航》中的虚构Tricorder设备,用于表示一种传感器类型。它与同类SENSOR_*常量在API 15被弃用,转而使用Sensor类,后者未保留这一彩蛋式命名。

SensorManager.SENSOR_TRICORDER

Android API 的幽默命名

本文所述Android API包含多项以趣味为主的公开方法和常量,如检测测试工具或游戏安装的接口,它们大多源于早期开发者的玩笑或实用需求,并在不同版本中逐步调整。

Android API

Android API 的幽默命名

Goat Simulator是一款游戏,其Android版本安装情况曾被UserManager.isUserAGoat()方法检测。该方法在Lollipop版本中通过包名判断游戏存在,后续版本为保护隐私而改为始终返回false。

Goat Simulator

Android API 的幽默命名

该方法在 Android 8 Oreo 中添加,调用后会发送 Intent 打开 Europe 乐队《The Final Countdown》的 YouTube 视频。代码尝试启动浏览器播放指定链接,失败时返回 false,属于 API 中的明显玩笑实现。

Chronometer.isTheFinalCountdown()

Android API 的幽默命名

UI Exerciser Monkey是Android提供的随机输入模拟工具,用于压力测试应用界面。本文指出ActivityManager.isUserAMonkey()可检测其运行状态,以避免测试中触发拨号或重置等意外操作。

UI Exerciser Monkey

Android API 的幽默命名

UserManager.isUserAGoat()最初仅返回false,Lollipop版本改为通过包管理器检测Goat Simulator游戏安装以返回真值。Android 11起针对targetSdkVersion 30及以上应用强制返回false,文档称此举为保护山羊隐私。

UserManager.isUserAGoat()

Android API 的幽默命名

该方法在 Android 3.0 Honeycomb 添加,由 AppWidgetHost 调用以推进 AdapterViewFlipper 内的视图。其名称随意且非正式,反映开发者命名时的随意发挥。

AdapterViewFlipper.fyiWillBeAdvancedByHostKThx()

What is HDR, anyway?

本文中 Ultra HDR 是 Google 推出的自适应 HDR 实现,对应 Android 14 系统支持。它让单张照片同时嵌入 SDR 与 HDR 数据,在不支持 HDR 的浏览器或应用中可自动回退 SDR 显示,避免画面变平或高光溢出。文章将其与 Apple iOS 18 的 Adaptive HDR 对比,指出 Google 更早落地该方案,但网页端兼容仍受限于 Safari 等浏览器的 bug。

Ultra HDR

Jacob Bartlett:首次创业那些事

Android是Fixr配套的另一移动平台,同样开发了客户与技工两款应用。MVP阶段已实现完整工作流,截图显示竞价、检验、开票等功能,与iOS版本共同支撑了产品演示与潜在合作洽谈。

Android

Stack Overflow 的衰落

本文指出Android Studio作为IDE,其Stack Overflow问题数量降幅小于基础编程或数据分析标签。作者推测,这类工具相关问题常涉及UI调试或视觉辅助需求,使AI生成回答的实用性仍有限,人类帮助仍有价值。

Android Studio

Stack Overflow 的衰落

本文将Android列为受AI影响较小的操作系统标签,其Stack Overflow提问量降幅低于NumPy等数据分析标签。文章分析认为前端与移动端UI问题常需视觉解释,限制了AI替代人工问答的效果。

Android

Stack Overflow 的衰落

本文将React Native列为受AI冲击较弱的框架之一,其Stack Overflow问题下降比例相对温和。作者认为此类跨平台开发框架的问题多涉及UI挑战或视觉解释需求,导致开发者仍倾向于寻求人工协助而非完全依赖AI。

React Native

CSS、iOS 和 Android 的阴影参数转换

本文指出 Android 使用 setShadowLayer 生成的阴影比 CSS 更模糊,主要因 Skia 采用 1/sqrt(3) 的历史缩放逻辑。实验对比表明,从 CSS 转换到 Android 时需将模糊半径乘以约 0.866 倍,才能使阴影效果接近一致。文章强调 Android 阴影未使用 Material elevation,而是直接通过该方法测试。

Android

CSS、iOS 和 Android 的阴影参数转换

本文测试 Android 投影时明确使用 setShadowLayer 而非 Material Design 的 elevation 方式。作者以此排除 Material 实现带来的额外变量,专注比较 setShadowLayer 与 CSS、iOS 的模糊差异及缩放公式。

Material Design

你的 API KEY 是怎么泄露的?

文章将Play Integrity列为Android平台上的对应机制,与AppAttest类似,可检测设备完整性并防止应用在被篡改或不受信任的环境中运行,从而为客户端API密钥提供额外运行时保护层。

Play Integrity

Google Material 设计语言的发展

文章中 Android 是 Material Design 重点统一的对象之一。2014 年 Material 1 阶段,团队清理了 Android 长期存在的多余视觉元素,通过纸张物理模型建立界面层级与动效规则,让 Android 与 Gmail、Chrome 等产品形成一致的家族感。

Android

移动 App UX 中的键盘设计

本文介绍InputType为Android控制输入字段的API,约30种类型决定键盘形态与操作按钮。文章对比其与iOS的差异,指出Android常复用标准键盘处理URL输入,且按钮外观随机型变化。开发者可设为default让平台自动适配,文中通过示例说明该设置如何配合表单场景提升操作效率。

InputType

移动 App UX 中的键盘设计

本文将Android定位为键盘多样性更强的平台,约30种输入类型且按钮用符号表示,包括Go、Done、Next、Search等7种选项。文章指出其键盘外观和功能因厂商而异,如Pixel与三星Galaxy A03差异明显,常在URL场景复用标准键盘而非专用布局。默认按钮机制更灵活,平台可依场景自动选择,整体与iOS的专用键盘策略形成对比,提醒设计师关注机型适配。

Android

移动 App UX 中的键盘设计

本文说明 Android 通过 SMS Retriever API 实现短信验证码自动填充,该功能与键盘本身无关。它直接读取短信内容并插入输入框,与 iOS 依赖 OTP 内容类型触发的工具栏机制不同。此 API 帮助用户在注册或验证流程中快速完成数字输入。

SMS Retriever API

移动 App UX 中的键盘设计

本文指出 KeyboardActions 是 Android 键盘操作按钮的配置选项,包含 Go、Done、Next、Search、Send 等 7 种符号按钮。与 iOS 不同,Android 可设为 default 让系统自动匹配最合适的按钮。按钮外观随手机型号变化,用于决定输入后的下一步动作,如搜索或提交表单。

KeyboardActions

Pinball User Interface

2015年“On the Wrist: Android Wear vs. Apple Watch”和2014年Google I/O“Designing for Wearables”记录LukeW对Android Wear与Apple Watch的对比及可穿戴设计思考。

Android Wear

盲人编程实例

文中说明手机端辅助功能之一,需在Android手机上安装启动,用于NVDA远程连接服务器时配合实体键盘操作,避免手机辅助功能占用键盘输入。

TalkBack

《我在芝加哥修 Mac》

文中作者在芝加哥贫穷社区为学校批量维修Mac时所使用的手机型号。它运行Android v1版本,却在市区内完全失去信号,导致作者抵达时间延误,无法按计划次日返回。最终作者在公交站被抢走装满坏零件的箱子时,这部手机也无法拨打电话求助,成为故事中个人安保风险的具体体现。

HTC Dream

被 Google 收购的过程中学到了什么

文中作者以Android拟人化形象为例,成功说服Google允许Socratic使用卡通吉祥物Ceebo作为应用图标,突破了Google通常仅使用四色简形图标的规范。

Android

Threads 性能分析

本文分析 Threads Android 版 289.0.0.77.109 版本,指出其采用通用 APK、混淆资源与合并 .spo 库文件,Compose 相关 dex 仅约 130KB。应用包含调试包与 Hermes 字节码,显示 Meta 在 Android 平台通过激进优化与 Instagram 代码共享来控制体积与开发速度。

Android

如何用 markdown 写一本书

本文中 ReadEra 是作者在 Android 手机上用于测试生成的 epub 文件的阅读应用。作者指出在小屏设备上用该应用阅读自制电子书体验更好。文章提到 epub 样式需适配旧版 CSS,不同阅读器效果可能有差异,因此用真实应用验证输出结果。

ReadEra

Threads 性能分析

Threads 大量采用 Jetpack Compose 构建 UI,相关 dex 代码仅约 130 KB。工程师表示可能因与 Instagram 共享代码,导致 Compose 实际占用显得较小。文章认为这是高效使用 Compose 的表现。

Jetpack Compose

Threads 性能分析

Threads 部分界面使用 React Native 实现,表现为 InstagramBundle.js.hbc.spk.xz 文件。该文件被推测为压缩后的字节码包,说明 Meta 在新应用中继续复用 RN 技术栈以加速开发。

React Native

Threads 性能分析

本文指出 Threads 以通用 APK 形式发布,体积 72.3 MB。Meta 对该 APK 进行了资源混淆、共享库自定义打包等深度优化,以降低下载大小。文章对比了 AAB 最佳实践,强调 Meta 依靠工程能力使通用 APK 同样高效。

APK

Threads 性能分析

ReDex 被 Meta 用于对 Threads APK 进行字节码优化与精简。文章将其列为 Meta 实现通用 APK 高性能的关键工具之一。配合资源混淆和库打包,共同降低应用体积。

ReDex

Threads 性能分析

文章认为 AAB 是行业推荐做法,但 Threads 仍采用通用 APK。Meta 通过激进优化手段,使 APK 在体积和性能上接近 AAB 效果。文中指出这是 Meta 移动端应用的常见发布策略。

Android App Bundle

Google 正式推出 passkey

本文提到Google在过去一年为Android带来了passkey支持,用户可借助设备解锁方式完成网站和应用登录。Android与Chrome共同构成passkey在Google生态中的核心落地平台,推动了Kayak、PayPal等服务的集成。

Android

Thunderbird 又换新 logo

新logo已适配Android平台,文章展示其在设备上的实际显示效果,并确认Thunderbird将正式推出Android版本。文中还提及iOS版本的开发路线图,计划2023年底公布更多细节。

Android

Darin Fisher 加入 Arc 团队

文章提到 Fuchsia 操作系统曾试图将 Android 与 ChromeOS 结合成一个原生且互联的系统,但目前尚未真正落地。文章指出 Android 和 iOS 都高度专注于原生应用,导致浏览器在移动端发展受限。Darren Fisher 认为移动浏览器体验仍停留在将旧版浏览器简单缩小到手机屏幕的阶段。

Android

Substack Reader 网页端功能更新

文章提及 Android 版本即将推出,目前提供等待列表供用户加入。用户可通过 sublink.substack.com/android-waitlist 注册,以获得与 iOS 和网页版一致的阅读体验。

Android

YouTube 用户变速播放习惯分析

Android设备用户最常选用1.5x倍速观看YouTube视频,与iOS用户行为相似。数据显示移动端用户加速观看比例高于客厅设备,1.5x成为日常提效的主要选择,体现了移动场景下对时间效率的更高需求。

Android

中国互联网产品的无障碍改造困境

小米MIUI是国产手机中较早保留读屏功能并持续优化的系统。2013年MIUI5视觉升级后无障碍适配倒退,用户“清冷的刀锋”提交长信;2015年MIUI7反馈报告获洪锋重视,公司成立小组花一个月重构底层代码。李伟星、薛康、朱汐等先后负责推进,将无障碍纳入测试用例并在公司内外传播意识。

MIUI

中国互联网产品的无障碍改造困境

谷歌2009年发布的Android读屏软件,小米等国产手机早期常直接删除或适配不佳。文章描述小米无障碍负责人薛康通过体验与用户反馈,逐步修复手势、震动提示等交互问题。视障用户需学习左右滑、点击次数等操作,才能顺畅使用手机功能。

TalkBack

macOS 中检查 Web Views 的发现

文章中的 WebView 指嵌入 macOS 原生应用(如系统偏好设置)的网页视图,用于呈现部分系统界面。作者通过启用检查功能,揭示这些 WebView 实际加载了 JavaScript 文件(如使用 React 的 javascript-packed.js)和自定义元素。它们被用来模拟原生 UI,同时支持 CSS 样式与系统颜色集成。

WebView

Signal CEO Moxie Marlinspike 即将卸任

早期Signal的Android客户端代码全部由Moxie Marlinspike独立编写,他同时负责服务器端开发与服务运维。如今这些职责已由专业团队分担,Moxie不再直接参与具体代码工作。

Android

Clubhouse 在南亚地区的活跃景象

Clubhouse于2021年中在南亚推出Android版本后迅速流行,尤其在尼泊尔等Android用户众多的地区。文章指出疫情封锁期间,人们居家无事,Android版Clubhouse的 availability 促使股市讨论俱乐部等本地内容快速增长,Demat账户数量同期大幅上升。

Android

Google 抱怨 iMessage 对 Android 用户的区别对待

文章描述Android用户发送短信在iMessage中显示为绿色气泡,仅支持基础SMS功能,引发青少年社交排斥。Google以此为由指责Apple,但同时承认自身多次失败的消息策略加剧了Android消息体验落后。

Android

Google Gallery.io 即将关闭

本文指出 Gallery Android 应用将于 2021 年 10 月 22 日关闭,此后无法在 Android 平台继续使用 Gallery 服务。

Android

Hacker News 作为未来科技趋势预测指标的有效性分析

文章提到Google 2005年收购Android公司后,Hacker News在2007年4月已有评论提及该事件,早于同年11月的公开宣布。作者以此作为HN偶尔能捕捉到早期信号的例证,并纳入整体趋势预测评估。

Android

ArcaneOS:FBI 针对犯罪分子的蜜罐手机系统

ArcaneOS是ANOM手机使用的定制操作系统,开机时显示其Logo,缺乏公开资料,二手买家常因该系统异常而发现手机不普通,目前已有多台设备出现在二手市场。

ArcaneOS