2

サービスで xml を取得し、その xml-string を AIDL 経由で返したいと考えています。今日、この文字列が非常に長い場合、呼び出し元のアプリが null 値しか受信しないことに気付きました。少しテストしたところ、string-length の制限は約 520000 文字で、512*1024=524288 に近いことがわかりました。Java は文字列を内部的に UTF-16 として保存しますが、各文字が内部的に (少なくとも) 2 バイトの大きさであることは確かではありません。したがって、この制限は 1MB になります。

さて、この制限がどこかに文書化されているかどうか、または以前に誰かが問題を抱えていたかどうかを知りたい. このような大きな文字列を簡単に返す方法を知っている人はいますか?

4

2 に答える 2

2

さて、この制限がどこかに文書化されているかどうか、または以前に誰かが問題を抱えていたかどうかを知りたい.

私の知る限り、正式に文書化されていませんが、それがどのように達成されたか(AIDL、ブロードキャストIntentなど)またはデータが何であるか(文字列、ビットマップ、その他の形式のバイト配列など)。

このような大きな文字列を簡単に返す方法を知っている人はいますか?

ファイルを使用します。ContentProvider必要に応じて、とを介してファイルをopenFile()提供Uriし、AIDL レスポンスのコンテンツに を指定します。

于 2012-04-15T00:15:19.280 に答える