143亿买来的首席AI官,上任就裁掉了Meta的AI元老
10月23日上午,AI明星科学家田渊栋在推特上发文:
10月23日上午,AI明星科学家田渊栋在推特上发文:
Jetpack Compose 布局速通指南 body { font-family: 'Inter', 'Noto Sans SC', sans-serif; } html { scroll-behavior: smooth; } /* Custom scrollbar for webkit browsers */ ::-webkit-scrollbar { width: 8px; } ::-webkit-scrollbar-track...
Android Studio 突然总是弹 Proxy Authentication,而本地代理无需鉴权,每次都要手动把对话框关掉,挺烦的,试了一些方案都没解决,今天终于用这个最简单的方式解决了。
今天,我看到了一个让我觉得激动人心的重大更新,Gemini 2.5 Flash Image (也叫 nano-banana ) 在 Gemini API 和 Google AI Studio(面向开发者)以及 Vertex AI(面向企业)提供。定价为 每百万输出 token $30,每张图像约为 1290 输出 token(约 $0.039/张图像)。
ChatGPT GO 是什么?
sealed class 定义了一个“加强版”的枚举类。为什么说是“加强”?
🔧 第一个配置:subprojects 块
简单介绍一下使用 yt-dlp 下载youtube视频的方法。
1. file 正则 file: 后面在 cs.android.com 用的是 RE2 正则,* 前面必须有一个字符才代表“重复”,单写 * 会被当成“字面量星号”,于是根本匹配不到任何文件名。
servicemanager 本身在做什么?——10 步快览
1. init.rc 是什么编程语言?
按下电源 —— 系统启动后加载引导程序 [[BootLoader]] —— 引导程序启动该Linux内核 —— 在系统文件中寻找init.rc 文件 —— 启动 init 进程。
分页和交换是操作系统中虚拟内存管理的两种关键机制,用于高效利用物理内存并支持比实际物理内存更大的地址空间。以下是它们的定义和区别:
“写时复制”(Copy-on-Write, CoW)是一种延迟复制的优化技术,广泛应用于操作系统中,尤其在进程创建(如 fork)和内存管理中。它的核心思想是:多个进程共享同一份资源(如内存页),只有在需要修改时才进行复制,从而减少资源消耗。
把手机当一辆车:
在新的 Android 版本里(实际上是从 Android 5.0 Lollipop,大约 2014 年开始),Dalvik 虚拟机已经被完全取代了。
1. 字节码(Bytecode)是什么?
想象你的手机是一座需要慢慢唤醒并开始工作的超级大工厂。
1. 你写了很多关于java面向对象的知识,你对对象的理解是什么?
在上一篇文章里,我们学习了MCP的入门操作,在这篇文章,我们使用MCP服务来解决我的一个实际需求。
MCP是什么?
在上一篇文章里,我们学习了MCP的入门操作,在这篇文章,我们使用MCP服务来解决我的一个实际需求。
` suspend operator fun invoke ` 是 Kotlin 中一种特定的函数定义方式,结合了 suspend 关键字和 operator 修饰符,用于实现函数对象的调用和协程支持。 suspend operator fun invoke(todo: Todo) = repository.insertTodo(todo)
在 Kotlin 的 Flow 协程中,“冷流”(Cold Flow)和“热流”(Hot Flow)是两种不同类型的数据流,它们在行为和使用场景上有着显著的区别。理解这些区别对于有效地使用 Flow 至关重要。
Carrie的情况分析
我理解你的困扰。遗忘确实是学习过程中的自然现象,但我们可以通过一些科学的方法来加深记忆和理解:
零基础自学法语到 B2 水平,每天学习 30 分钟,需要有系统的学习计划,并将学习目标分解为以下几个阶段:
1. Paint.getTextBounds 测量文本宽高 ```kotlin val text = “Hello, Mango !” val bounds = Rect() paint.getTextBounds(text, 0, text.length, bounds) val textWidth = bounds.width() // 获取文本的宽度 val textHeight = bounds.height() // 获取文本的高度...
layout: article title: “连通图” date: 2024-09-24 tags: [“图”] category: DSA —
layout: article title: anki 高亮代码 tags: [] category: DSA —
因为ScrollView 传递给ListView时,用的是 UNSPECIFIED , ListView 设置了 heightSize if (heightMode == MeasureSpec.UNSPECIFIED) { heightSize = mListPadding.top + mListPadding.bottom + childHeight + getVerticalFadingEdgeLength() * 2; }
范围裁切有两个方法: clipRect() 和 clipPath() 。 clipRect ```java canvas.save(); // 保存canvas状态
默认顺时针画出来的。 每多画一个扇形,起始角度都要加起前面几个扇形的角度,划过的角度视扇形大小而定。
Note: 绘制虚线弧形,不能用 path.addArc() + pathDashEffect 来画,会画出奇形怪状的图形,要用canvas.drawArc 画。
drawPath(Path path, Paint paint) 画自定义图形
自定义绘制的方式是重写绘制方法,其中最常用的是 onDraw() 绘制的关键是 Canvas 的使用 onDraw():负责主体内容绘制 Canvas :绘制工具 Canvas 的绘制类方法: drawXXX() (关键参数:Paint) Canvas 的辅助类方法:范围裁切和几何变换 可以使用不同的绘制方法来控制遮盖关系