AppMessage最大尺寸考虑因素?

时间:2014-04-22 17:15:43

标签: pebble-watch

我希望更清楚地了解影响到手表的应用消息的最大允许大小的因素。 SDK保证的最大大小为124字节,the docs表示“在某些情况下,Pebble可能能够为您的应用程序提供更大的收件箱/发件箱。您可以调用app_message_inbox_size_maximum()和{在您的代码中{1}}获取可以使用的最大可能值。“

我在我的鹅卵石上尝试了这个,app_message_outbox_size_maximum()返回了2044(这对我的应用来说已经足够了),但我想这对鹅卵石来说不可靠?文档中提到的“某些背景”是什么?

2 个答案:

答案 0 :(得分:1)

在开发应用程序时,我要说最重要的是要记住消息在处理时必须存在于应用程序的内存空间中。 app_message_open为您分配空间,该空间来自包含应用程序二进制文件和应用程序堆的24kb(请参阅Pebble Dev FAQ)。因此,AppMessages的约2kB可能是也可能不是问题。

然而app_message_xxx_size_maximum函数无法知道您最终将用于其他内容的RAM量。由于您无法调整收件箱的大小,因此您必须在第一次使用自己的判断时才能正确使用。

除此之外,谁知道。 PebbleOS是封闭源代码,所以没有简单的方法来弄清楚幕后发生了什么。但是,我们可以尝试!首先,由于无法检查输入/输出框大小,我们可能会认为操作系统在创建后不会调整收件箱/发件箱的大小。然后,由于操作系统不允许一次运行> 1应用程序,因此可以推测,在同一硬件上的应用程序启动时,大小限制将保持一致。最后,最大尺寸应该随着时间的推移而变大,因为减少它会冒破坏依赖于特定尺寸的应用程序的风险。

答案 1 :(得分:1)

有两个因素会影响可用的内存量:

  1. 您是在使用PebbleKit iOS / Android库与JavaScript程序或iOS / Android程序对话吗?

    对于JavaScript,您将拥有更多可用内存,因为Pebble将使用用于安装应用程序和升级固件的相同缓冲区。不幸的是,与PebbleKit本机库编写的第三方应用程序通信的通道要小得多(大约500字节)。

  2. 您正在使用的Pebble OS版本

    版本之间会有很小的差异,但没什么大不了的。