ホーリーのプログラミング日記

ホーリーのプログラミング日記

エキセントリック・スーパーアプリクリエイター / アプリ総DL数 約180万 / 全然分からない 俺は雰囲気でアプリを作ってる / iOS : apple.co/3m3HxSm / Android : bit.ly/3ma0liZ

Unityで使うPlayerPrefsの容量上限について

 

Unityでデータをセーブするときに、PlayerPrefsって使うじゃないですか?ときにこれの容量って、どこまであるんでしょうか?

ていうのもあれなんですよ。こないだ開発中のアプリを触ってるときに、妙に処理が重くなったんです。

んで色々と調べてみたら、PlayerPrefsの容量に問題があったみたいでした。

 

試験的に値を100個ほど保存してたんですが、それが重くしてたみたいなんですよね。

PlayerPrefs.DeleteAllを使って、データを全部削除すると軽くなったので、恐らくこれが原因だったはずです。

 

それで思ったんですよ。PlayerPrefsの容量上限でどこまでなんだろうと。

 

調べてみたら、こちらの記事がHITしました。

【Unity5】PlayerPrefsの容量上限について - 橋田レポート

 

記事内からの引用はこちら。

 

iOS 無限
Android 無限
Web Player 1MB

1MBを文字数にすると

全角 : 524,288 文字
半角 : 262,144 文字

上記はKeyとValueを合わせた文字数になります。

例 :
PlayerPrefs.SetString( "神代Kojiro" , "橋田Hashida" );
これは 17文字 になります。

 

こちらを参照する限り、スマホは無限みたいです。つまり、デバイスのストレージが許す限りセーブできるってことでしょうか?

 

試しにやってみたんですよ。スマホiPhone7)にアプリを転送しつつ、PlayerPrefsに値を1000個ほど設けてみました。

結果は問題なし。処理もサクサク動いてたんで、全然OKでした。

 

僕の開発環境だと、100個くらいセーブすると処理が重くなる、ただスマホに転送した場合は問題なし、って感じですね。

結果的にハッキリとした上限は分かってないんですが、あまり気にしなくて大丈夫そうですね。それだけは分かりました。

 

P.S.

ところで引用元にあるWeb Playerってなんでしょうか?パソコンのこと?これはイマイチ分かっておりませんw