メインメニューを開く

差分

Xamarin.Androidで巨大なデータをActivity間で引き渡す

105 バイト追加, 2021年4月20日 (火) 07:12
編集の要約なし
Androidのアクティビティ間で[[ビットマップ]]などの巨大な[[データ]]を引き回したい時にインテントではサイズ制限で落ちる機種が存在する。インテントの上限値は機種ごとに異なるようで同じデータでも落ちる機種と落ちない機種があるようだ。を引き回したい時にインテントではサイズ制限でクラッシュする機種が存在する。なお「インテントの上限値」は機種ごとに異なるようで同じデータでも落ちる機種と落ちない機種があるようだ。
そういうときはApplicationクラスを拡張してデータ共有用のプロパティを用意すればいいらしい。
Applicationクラスを拡張したクラスを作った後は普通にパブリックなプロパティを追加すればよい。
なお、Androidの流儀ではOnTerminate呼び出し時に明示的にメモリ解放すべきらしい。[[Xamarin]]だと[[GC]]が勝手にやってくれそうな気もするが[[Java]]の流儀に合せておく。
<source lang="csharp">
[Application]
== 関連項目 ==
* [[Xamarin.Android/ディスプレイをスリープさせないAndroidでディスプレイをスリープさせない]] == 参考文献 =={{reflist}}
[[category: Xamarin.Android]]