#android #looper #wrapper #thin #docs #reference #object

android_looper

Android Looper 的轻量级封装

2 个不稳定版本

使用旧的 Rust 2015

0.3.0 2019年2月8日
0.1.0 2016年4月30日

#5#looper

每月 23 次下载

MIT/Apache

9KB
68

Android Looper 的轻量级封装

许可证

许可协议如下

任选其一。

贡献

除非您明确声明,否则您提交的任何贡献,根据 Apache-2.0 许可证的定义,将按照上述方式双重许可,无需额外条款或条件。


lib.rs:

在 GitHub 上分支我 <style>.sidebar { margin-top: 53px }</style>

来自 android 文档

用于在线程中运行消息循环的类。线程默认没有与之关联的消息循环;要创建一个,请在将运行循环的线程中调用 prepare(),然后调用 loop() 以使其处理消息,直到循环停止。

库设计规范

此库是对其他情况下可能不安全的 ffi 绑定的最小安全封装。在此库中有一些约定,了解这些约定可以帮助您更好地使用它。

安全性不包括正确的销毁顺序

虽然此库可能提供 RAII 封装(见下文),但它不会跟踪封装依赖关系。在此级别上这样做将需要 Rc 机制,这可能会导致一些问题:强迫用户使用 RcArc,使实现复杂化,不再是无成本的。

相反,鼓励用户围绕以下不同类型类型(如下所示)构建封装,以根据每个用例管理所需的资源。

不可复制的 struct Object 类型

这是一个 RAII 类型,它封装了一个低级资源,提供了操作它的方法,并在它超出作用域时销毁它。它还可能具有方便的方法 from_handle 作为构造函数和方法 forget 来获取句柄并禁用 RAII

可复制的 结构体/枚举 Object 类型

用于跟踪中间粘合信息,通常替代或包装繁琐的 C 联合体、类型或枚举。

可复制的 结构体 ObjectRef 类型

包装一个低级句柄(s)并提供操作它/它们的接口。用于句柄生命周期由另一个对象控制或它是某种全局单例的情况。在这种情况下,方法调用本身可能在调用已过期或无效句柄时返回错误。

依赖项

~160KB