質問編集履歴
1
誤字の修正
title
CHANGED
|
@@ -1,1 +1,1 @@
|
|
|
1
|
-
Android
|
|
1
|
+
Android 16機にて、スペック上は勝る後継端末で画面遷移時のフリーズが悪化する(レイアウト計算自体は高速)
|
body
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
### 実現したいこと
|
|
2
|
-
現行機種(Android 12 / Helio G90T)から後継機種(Android
|
|
2
|
+
現行機種(Android 12 / Helio G90T)から後継機種(Android 16 / Helio G99)へのリプレイスを検討しています。
|
|
3
3
|
|
|
4
4
|
スペック上は後継機の方が勝っているため、現行機と同等、もしくはそれ以上の画面遷移パフォーマンスを実現したいと考えています。
|
|
5
5
|
|
|
6
6
|
現在、特定の画面遷移で数秒のフリーズが発生しており、この原因を特定し、解消するための指針(OS設定の確認、またはアプリ側の改修方針など)を得ることが目的です。
|
|
7
7
|
|
|
8
8
|
### 発生している問題・分からないこと
|
|
9
|
-
後継機として選定中のAndroid端末(Android
|
|
9
|
+
後継機として選定中のAndroid端末(Android 16 / Helio G99)において、アプリの画面遷移時に、旧機種(Android 12 / Helio G90T)と比較して**2倍〜4倍程度の極端なフリーズ(メインスレッドの停止)**が発生しています。
|
|
10
10
|
|
|
11
11
|
Android Studioのプロファイラで詳細に計測したところ、非常に不可解な結果が出ています。
|
|
12
12
|
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
明確なエラーログは出力されていませんが、Android Studioのプロファイラ(System Trace)にて、画面遷移時に以下の異常な待機時間を計測しています。
|
|
25
25
|
|
|
26
26
|
【プロファイラ計測値(画面遷移時)】
|
|
27
|
-
※後継候補機(Android
|
|
27
|
+
※後継候補機(Android 16)における数値
|
|
28
28
|
|
|
29
29
|
Total Hang Time (99th Percentile): 1.9s 〜 4.6s(旧機は 0.9s 〜 1.25s)
|
|
30
30
|
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
① Android Studio Profilerによる詳細分析
|
|
53
53
|
画面遷移時のスレッドの動きを可視化したところ、以下の事実が判明しました。
|
|
54
54
|
|
|
55
|
-
新機種(Android
|
|
55
|
+
新機種(Android 16 / Helio G99)は、旧機種(Android 12 / Helio G90T)に比べ、レイアウト計算やGPU描画自体の処理速度は10倍近く高速である。
|
|
56
56
|
|
|
57
57
|
しかし、描画処理が始まる直前の「指示待ち時間(空白時間)」が、旧機種(約0.5秒)に対し、新機種(約1.8秒〜4.5秒)と極端に長くなっている。
|
|
58
58
|
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
|
|
64
64
|
③ 外部相談および検索
|
|
65
65
|
社内のシニアエンジニアに相談したところ、「SoCの演算性能自体に問題はなく、特定のI/O処理(DBアクセス等)の開始にラグが発生している可能性がある」「ハードウェアの個体不良の可能性も捨てきれないが、OSのバージョン差による挙動の変化も疑わしい」との助言を得ました。
|
|
66
|
-
また、同様の事例(Android
|
|
66
|
+
また、同様の事例(Android 16 × MediaTek製SoCでのI/O遅延)を検索しましたが、決定的な解決策は見つかっておりません。
|
|
67
67
|
|
|
68
68
|
④ 個体差の検証(進行中)
|
|
69
69
|
端末固有の不具合を疑い、現在、別個体(同機種)をもう1台手配して再現性を確認する準備をしています。
|