SDKのパフォーマンス

🚧

このドキュメントは古いバージョンのiOS SDK v1について記載しています

iOS SDK v1は 2021/05/11でサポート終了となります。
SDK v1 からのアップグレードについては、まず SDK v1からv2のアップグレード方法 をご覧ください。

KARTEのSDKは軽量で、アプリのパフォーマンスへの影響は限定的です。
このページではSDKが使用するリソースについて説明します。

ネットワーク

SDKは主に次の用途でネットワークを利用します。

  • イベントの送信とアクションの受信。
  • アクション表示用のHTML/JavaScriptモジュール(tracker.js)をWebViewに読み込む

イベントの送信とアクションの受信

リクエスト数削減のため、イベントは数百ms毎にバッファリングされ1つのリクエストにまとめて送信されます。
リクエストサイズはイベントやフィールドの数に依存します。例えば、幾つかのフィールドがセットされた viewidentify を1つのリクエストで送信した場合は約1KBです。

レスポンスサイズは配信されるアクションに依存します。例えばバナーのテンプレートを利用したアクションが配信された場合は約18KBです。アクションが無い場合はリクエストと同等のサイズのレスポンスが返されます。

tracker.jsの読み込み

tracker.jsはアクション表示時に読み込まれます。tracker.jsは数百KBのサイズがありますが、キャッシュされるため2回目以降の表示では大きな読み込みは発生しません。

メモリ

SDKの初期化を行なうと、約4.8MiBのヒープメモリを消費します。
その後アプリ内メッセージの表示により、100KiB前後のヒープメモリを消費します。

ディスク

SDKは主に次の用途でディスクを利用します。設定値配信やアプリ内メッセージを多用する場合を除き、ディスクI/Oの回数や転送量、ディスク使用量はほとんどありません。

  • visitor_idや、アプリのバージョン情報をディスクに保存します。
  • 設定値配信を利用している場合、配信された設定値をUserDefaultsに保存します。
  • tracker.jsのキャッシュにはWebViewの機構が使われます。

バイナリサイズとメソッド数

SDKをアプリに導入した場合のipaファイルのサイズの増加量です。

項目増加量
サイズ75.3KB

📘

バイナリサイズについて

SDK v1.5.0の数値を記載しています。
本数値は arm64 向けにビルドした際の数値となります。そのため対応するアーキテクチャによっては増加量が変わることがあります。