( 前回の続きです )
……○……○……○……○……
メモリ消費が大きい要素③「Android14」
これまでの考察から、このAndroid14によるメモリ消費を如何に減らせるかが大切だと思いました。
Android OSの内部設定を変更するのは難しそうなので、間接的にメモリ消費を減らすことができそうなものをまとめました。
(※検証結果を得られていないため、改善を保証できるものでないことを先にお詫びいたします。)
………………………………
[Google Go]
ブラウザの一つであるGoogle Chromeの軽量版として、「Google Go」というブラウザアプリがあります。
以前、私は「ブラウザの文字や画像の表示を小さくすることで、キャラストのデータの読み込みが速くなる」といった仮説を立てましたが、ブラウザそのものを小さくしてしまえば、さらに読み込みが速くなり、メモリ消費も抑えられるのではないかと考えました。
Google GoのURLはこちらです↓。
https://play.google.com/store/apps/details?id=com.google.android.apps.searchlite&hl=ja&gl=US
………………………………
[メインメモリ(RAM)が多い機種に買い替える]
※こちらの項目は情報の不備があります。明日投稿する予定の旅日誌を併せて読んでいただけると助かります。
これを言ってしまうと元も子もないかもしれませんが、メモリが多くなると、キャラストを起動するために必要なメモリ確保の時間が減り、不具合の症状も緩和できると思いました。
旅日誌でも確認しましたが、おすすめされている方がたくさんいらっしゃいました。処理の重いゲームになるほど、メモリ容量の大きさが重要なのだと思います。
念のため、メモリと不具合の発生時期に関連性があるか調べてみました。
まず、キャラストを遊ぶ際に必要とされるメモリをおおよそで見積もりました。
( キャラストのデータ [約1GB+ゲームプレイ時の追加分] )
+
( Androidランタイム [約1GB] )
+
( Android14 [約4GB] )
‖
Android14でキャラストを遊ぶためには、6GB以上のメモリが必要?
※キャラストのデータの必要メモリは、最近の旅日誌でPC版キャラストの使用メモリが2GBと報告されている方がいらっしゃいましたので、そちらを基準にしてみました。他のスマホゲームでは、モバイル版は必要メモリが少なく設定されているので、仮に1GBとしました。
※Androidランタイムの必要メモリは詳しくは分かりませんでしたが、Java仮想マシン(JVM)の使用上限が4GBという情報をサイトで見つけたので、JVMの普段使いのメモリを2GBと仮定し、メモリ消費が改善されているAndroidランタイムは間を取って1GBにしました。
※Android14の必要メモリは、調査報告2から流用しています。
また、「ログインできない状態」をメモリ使用可能量の限界と考え、旅日誌で報告されていた方の投稿日をまとめさせていただきました。(OSバージョンの記載があった方です。できるだけ探しましたが、不備はあるかもしれません。)
[機種名.型番] [OS] [RAM] [投稿日]
…………………………………………………
Galaxy S22 14 8GB 1/1
Xperia 14 - 1/28
- 14 - 1/30
Xiaomi 11T 14 8GB 2/5
AQUOS R7 13 12GB 2/10
AQUOS R8pro 13 12GB 2/12
Snapdragon8 12 12〜 3/7
Gen1 16GB
※参考にしたサイト
・スマホ RAMメモリ容量一覧
https://macha795.com/smart-phone-ram-list/
現在の対応状況ではAndroid14の不具合が書かれていましたが、Android12、13でもログインができなくなっていました。
そして、メモリ消費の大きいAndroid14は不具合の発生時期が早く、それに対してメモリ消費の小さいAndroid12、13はしばらく間を置いてから発生している印象でした。
そして、メモリ消費の大きいAndroid14は不具合の発生時期が早く、それに対してメモリ消費の小さいAndroid12、13はしばらく間を置いてから発生している印象でした。
このことから、メモリ消費が小さくメモリ確保に掛かる時間が減るほど、不具合も起きづらくなっているのではないかと改めて感じました。
言い換えると、(※OSバージョンの影響はあるかもしれませんが、)メモリ容量が大きくなると、キャラストを遊ぶために必要なメモリ確保に掛かる時間が減り、不具合が発生するまでの期間が延びる(症状を緩和している)と思いました。
※ただ、メモリ容量が大きい方も一度ログインできなくなると立て続けに不具合が起きていました。ある程度時間を置かないとメモリ解放が十分に行えないのかもしれないです。
さらに付け加えると、先程推定した「Android14でキャラストを遊ぶために必要なメモリ6GB以上?」を上回っているAndroidスマホほど、不具合が起きづらいと考えました。
(気になる点として、Google Playストアを確認した際に、"4月に発売された12GBのメインメモリ[RAM]が搭載された最新機種でもログインができない"といった報告がありました。ゲームの起動時間が長くメモリを消費し続けてしまったのか、それとも別の理由があるのか、そこまではよく分かっていないです。)
※追記:こちらに関しては、調査報告2で頂いたコメントを基に新しく考察を作成しました。明日に投稿する予定です。
メモリ容量の重要性について旅日誌で詳しく考察されている方がいらっしゃいましたので、URLを貼らせていただきます↓。
……○……○……○……○……
【その他】
他にもメモリ解放アプリはどうかなと思いましたが、Androidランタイムの機能と役割が被ってしまい、却ってメモリを圧迫してしまうかもしれないと思い省きました。
仮想メモリ(ストレージ[ROM]の一部)を使用してメインメモリ(RAM)の不足を補う方法もありますが、仮想メモリはメインメモリよりデータの処理に時間が掛かってしまうそうです。
重いスマホゲームをする時に効果が出やすいみたいですが、今回の不具合はメモリ容量が大きい機種でも起きていることを考えると、あまり相性が良くなさそうです。
重いスマホゲームをする時に効果が出やすいみたいですが、今回の不具合はメモリ容量が大きい機種でも起きていることを考えると、あまり相性が良くなさそうです。
※参考にしたサイト
・今さら聞けないAndroid「仮想メモリ」の話。スマホがサクサク?効果はあるのか
https://mats2.net/virtual-memory
………………………………
補足として、今回の不具合は12〜1月頃から発生していましたが、それ以前もAndroidスマホでログインできなくなるといった報告が旅日誌で時折見受けられました。(※Google Playストアでも12月から不具合の報告が相次いでいました。)
前述したように、OSアップデートを繰り返す度にメモリ使用量が増えていくそうなので、Android14より以前は"メモリ使用量"と"メモリ解放"のバランスがまだなんとか取れていたのかもしれません。
それと、以前私が検証に使用したiPhone8はメインメモリ(RAM)が2GBでした。そのスマホでも端末の設定変更で処理を軽くするとキャラストを遊べていたので、Androidスマホ特有の機能が不具合を起こしている可能性は高いと思いました。(iOSはAndroid OSと比較すると少なめのメモリで動かせるようですが、それでも"2GB"というメモリ容量の小ささです…。)
iPhoneのメモリに関して旅日誌で詳しく触れている方がいらっしゃいましたので、参考にさせていただきました↓。
※Android OSに要求されるメモリが多めなのは、メモリ使用率を一定に保つ機能を備えているのが一つの可能性としてありそうです↓。
・新しいAndroidスマホでメモリが増えているはずなのに使用率が改善しない?
https://hikkie.hatenablog.jp/entry/Android-memory-management
( 続きは明日に投稿します )
※文章中に記載しましたが、調査報告2で頂いたコメントを基にした考察です。予定していた投稿回数を変更してしまい申し訳ないですが、よければお付き合いください。
コメント