equationl
Home
App
博客
关于
搜索
隐云小屋
Categories
一种生活 (89)
一次学习 (73)
一段娱乐 (11)
Featured Tags
提桶日记 (73)
安卓 (57)
compose (38)
存档计划 (12)
arduino (10)
kotlin (7)
车 (7)
闲谈 (7)
摄影学习 (5)
a7c (3)
其他技术 (3)
micropython (2)
Recommend Series
第一次工作记录 (73)
Compose-不止是安卓 (37)
安卓与串口通信 (7)
车钥匙改装 (7)
踏入光影 (6)
Blogs
84 posts
这是我的博客首页。
使用 adb 执行 shell 脚本持续监控安卓手机运行性能
Mar 5, 2024
8 minutes read
前言 之前我所负责的项目使用的是购买的成品安卓设备,所以一直没有什么问题。 不久之前,老板决定不再购买成品设备,而是自己设计制作安卓硬件设备。 但是更换硬件之后,运行同一个 APP 的同一个版本会出现卡顿的现象。 并且开机时间越长该现象越明显,当开机时间达到一定时间后,甚至卡顿到完全没法使用。 而且卡顿时不仅是我们的 APP 卡顿,而是整个系统都在卡顿,这显然是散热有问题。 但是老板可不会听我们的所谓“显然”,凡事都需要拿出......
一次学习
安卓
记一次安卓APP启动耗时原因排查与优化过程
Mar 5, 2024
8 minutes read
前言 不得不说,我这个前同事是喜欢整花活的,继前几篇文章中我提到过的滥用协程和错误的进程加锁导致各种问题之后,他又给我留下了一个大坑。 首先需要说明的一点是,由于我这个项目是属于一款智能硬件设备的配套APP,所以一般来说,APP 不会频繁的启动和关闭,基本都是打开之后就不会关闭的那种,所以对启动速度不是太敏感。 所以平时我也没有在意 APP 的启动速度,直至硬件同事总是和我吐槽这个 APP 启动速度也太慢了吧(他测试硬件......
一次学习
安卓
快过年了,用手指在你的窗户上画一只龙做窗花吧(Compose使用自定义绘制实现模糊背景以及自由绘图)
Jan 28, 2024
9 minutes read
前言 好久没有写过新东西了,实在是年关在即,太忙了,抽不出身来写。 眼看着马上就要过年了,还是挤出点时间写一个和即将到来的新春有关的效果。 这个效果灵感来源于即刻的新春活动,即刻在新春推出了一个将个人主页“模糊化”,模仿起雾的窗户,其他人可以在别人的“窗户”上自由涂鸦,像极了童年冬日我们用手指在窗户上涂涂画画的感觉,我愿称之为赛博窗花。 恰逢新春,不如我们也实现一个这种效果的 Compose 组件,然后,为自己画上一条龙......
一次学习
Compose-不止是安卓
compose
安卓
一只可怜的布里丹毛驴--2023年终总结
Dec 10, 2023
12 minutes read
引 时光荏苒,岁月如梭,似乎自从毕业之后,时间就过得很快,去年的此时我正在贵阳的家中充满激情的写下了虽然当下处于低谷,但是未来一定会更好的 2022 年总结。 而,此刻,我在离家 700 公里外的成都的逼仄的小单间中,疲倦的开始写 2023 年总结: 布里丹是法国一位哲学家,他养了一头小毛驴,每天他都要向附近的农民买一堆草料来喂。有一天,送草的农民出于对哲学家的景仰,额外多送了一堆草料放在旁边。这下子,毛驴站在两堆数量、质量和与它......
一种生活
闲谈
为 Compose MultiPlatform 添加 C/C++ 支持(3):实战 Desktop、Android、iOS 调用同一个 C/C++ 代码
Nov 3, 2023
11 minutes read
前言 在本系列的前两篇文章中我们已经学会了如何在 kotlin native 平台(iOS)使用 cinterop 调用 C/C++ 代码。以及在 jvm 平台(Android、Desktop)使用 jni 调用 C/C++ 代码,并且知道了如何自动编译 Android 端使用的 jni 代码给 Desktop 使用。 那么,我们还犹豫什么呢,是时候把它们都组合在一起,完成真正的 Compose MultiPlatform 全平台调用 C/C++ 了。 在本文中我们将以我去年使用 Compose 写的安卓端的一个简单的小游戏 demo 举例。(终于换项目举例了,哈哈哈) 项目地址:life-game-co......
一次学习
Compose-不止是安卓
compose
安卓
为 Compose MultiPlatform 添加 C/C++ 支持(2):在 jvm 平台使用 jni 实现与 C/C++ 互操作
Nov 2, 2023
8 minutes read
前言 在上篇文章中我们已经介绍了实现 Compose MultiPlatform 对 C/C++ 互操作的基本思路。 并且先介绍了在 kotlin native 平台使用 cinterop 实现与 C/C++ 的互操作。 今天这篇文章将补充在 jvm 平台使用 jni。 在 Compose MultiPlatform 中,使用 jvm 平台的是 Android 端和 Desktop 端,而安卓端可以直接使用安卓官方的 NDK 实现交叉编译,但是 Desktop 不仅不支持交叉编译,甚至连使用 Gradle 自动编译都没有。 所以本文重点主要在于实现 Desktop 的 jni 编译以及调用编译出来的二进制库。 Android 使用 jni 在介绍 Desktop 使用 jni 之前,我们先回顾一下在 Android 中使用 jni......
一次学习
Compose-不止是安卓
compose
安卓
Compose for iOS:kotlin 与 swift 互操作
Oct 23, 2023
5 minutes read
前言 类似于 Android 上的 compose,在 iOS 上的 compose 同样支持嵌套显示 compose UI 和 swiftUI 或是 uikit 。 但是不同于 Android 原生就是使用 kotlin 作为开发语言,iOS 的开发语言是 swift 或者 object-c 。虽然大多数业务逻辑都可以直接使用 kotlin 实现,但是有时候有些逻辑无法直接使用 kotlin 实现,必须调用 iOS 原生代码,例如关于 iOS 原生平台的 API。 因此,本文将以实际项目为例,说明如何在 Compose for iOS 实现业务逻辑的互操作。 swift 调用 kotlin 没错,这次又双叒用 calculator-Compose-MultiPlatform 项目举例子,哈哈哈,谁叫我现在手头就这......
一次学习
Compose-不止是安卓
compose
安卓
为 Compose MultiPlatform 添加 C/C++ 支持(1):在 kotlin 中使用 cinterop 实现与 C/C++ 互操作
Oct 23, 2023
6 minutes read
前言 在安卓中我们可以使用 jvm 提供的 jni 方便的编写 C/C++ 代码并与 java/kotlin 互操作。 但是当使用 kotlin MultiPlatform 时想要调用 C/C++ 代码将变得麻烦甚至是不可用,因为对于 Android 和 Desktop 来说依旧使用的是 jvm ,所以只要稍微适配一下也不是不能用。但是如果涉及到使用 kotlin native 的平台,比如 iOS,那么就无法再使用 jvm 的 jni 了。 此时,我们只能使用 kotlin 提供的 cinterop 实现与 C/C++ 的互操作。 只是这样又带来一个问题,那就是由于 Android 和 Desktop 平台使用的是 jvm,所以 cinterop 又不太好使了。 因此为了实现全平台的......
一次学习
Compose-不止是安卓
compose
安卓
安卓与串口通信-如何区分连接的设备?
Oct 21, 2023
8 minutes read
前言与背景 一般来说,不管是在什么平台上需要与外接硬件交互,第一件事都是应该能够正确的识别出目标硬件。 例如在 Windows 上,当一个新的外设设备被插入到我们的电脑时,系统会通过 Hardware IDs 、Compatible IDs 来确定连接的是什么设备并为其选择或安装一个合适的驱动程序以供后续使用。 在获取到可用的驱动程序后 Windows 还会使用 Instance IDs 、 Device instance IDs 用于标识设备的唯一性。 同理,在我们安卓上与外接硬件设备通信之前我们首先要做的应该是正确的识别出......
一次学习
安卓与串口通信
安卓
Arduino
体验一下使用 ArkUI 进行 HarmonyOS 开发并与 Compose 简单对比
Oct 19, 2023
10 minutes read
前言 最近几年各个技术公众号和技术群都在唱衰原生安卓开发,疯狂贩卖焦虑。 搞得我也焦虑的不行,在谷歌的 Compose 推出后就赶紧去学,但是又觉得好像 Compose 的热度也不算太高,又去学 Flutter 。 转头两个都还没学明白呢,大佬们又在说鸿蒙下次更新不兼容安卓了,再不学鸿蒙开发就等着失业吧。 啊?这?这能忍?这必须学啊! 于是抽出时间来简单了解了一下使用 ArkUI 的鸿蒙应用开发。 编写第一个鸿蒙应用 搭建环境 鸿蒙应用开发有它自己的一个 IDE ,叫做 DevEco Studio 。 可以......
一次学习
Compose-不止是安卓
安卓
compose
其他技术
««
«
1
2
3
…
9
»
»»