3

時計に着信するアプリ メッセージの最大許容サイズに影響を与える要因をより明確に把握したいと考えています。SDK が動作を保証する最大サイズは 124 バイトであり、ドキュメントによると、「状況によっては、Pebble はアプリケーションにより大きな受信ボックス/送信ボックスを提供できる可能性があります。コード内でapp_message_inbox_size_maximum()andを呼び出してapp_message_outbox_size_maximum()、可能な最大値を取得できます。使えます。」

小石でこれを試してみたところ、app_message_inbox_size_maximum()2044 が返されました (私のアプリには十分すぎる値です)。ドキュメントで言及されている「何らかのコンテキスト」とは何ですか?

4

2 に答える 2

1

使用可能なメモリ量に影響を与える要因は 2 つあります。

  1. PebbleKit の iOS/Android ライブラリを使用して、JavaScript プログラムまたは iOS/Android プログラムと対話していますか?

    JavaScript の場合、Pebble はアプリのインストールとファームウェアのアップグレードに使用されるのと同じバッファを使用するため、より多くのメモリを利用できます。残念ながら、PebbleKit ネイティブ ライブラリで作成されたサード パーティ製アプリと通信するためのチャネルは、はるかに小さくなります (約 500 バイト)。

  2. 使用している Pebble OS のバージョン

    バージョン間には小さな違いがありますが、大きな違いはありません。

于 2014-04-23T16:41:17.173 に答える
1

アプリを開発するとき、覚えておくべき最大のことは、メッセージが処理されている間、アプリのメモリ空間内に存在する必要があるということです。app_message_openアプリのバイナリとアプリのヒープを含む 24kb からスペースを割り当てます ( Pebble Dev FAQを参照してください)。したがって、AppMessages の最大 2kB が問題になる場合とそうでない場合があります。

ただしapp_message_xxx_size_maximum関数は、最終的に他のものに使用する RAM の量を知ることができません。受信トレイのサイズを変更することはできないため、最初は自分の判断で正しく設定する必要があります。

それを超えて、誰が知っていますか。PebbleOS はクローズド ソースであるため、内部で何が行われているのかを簡単に把握する方法はありません。しかし、私たちは試すことができます!まず、受信ボックス/送信ボックスのサイズを確認する方法がないため、OS は受信ボックス/送信ボックスを作成した後にサイズを変更しないと想定できます。次に、OS は一度に 1 つ以上のアプリを実行することを許可しないため、サイズ制限は同じハードウェアでのアプリの起動全体で一貫していると推測できます。最後に、最大サイズは時間の経過とともに大きくなる必要があります。これを減らすと、特定のサイズに依存するアプリが壊れるリスクがあるためです。

于 2014-04-23T00:04:56.713 に答える