[Flutter]トップレベル(top-level)メンバ使用上の注意点(意図せざるしてアプリが落ちるトラップが起こる可能性あり)

このページには広告が含まれる場合があります。

 

これは、FlutterでStatefulWidgetを使う際の育ての親である「State」クラスのbuildメソッド内で、

以下のような感じでトップレベルメンバ(プロパティ・メソッド)を参照した場合に、

Androidアプリとしてビルドすると

Scudo OOM: The process has exhausted 256M for size class ….

また、iOSアプリとしてビルドすると

interruptionHandler is called. -[FontServicesDaemonManager connection]_block_invoke

という謎のエラーが発生してアプリが落ちてしまうというトラップが発生する可能性があります。

その場合は、以下のような感じで、トップレベル(static)として設定しているメンバを「static」にしてやるとなぜか解消する可能性があります。

ただし、これは万能な解決策というわけではないようで、staticにしてもエラーが解消しない場合もあるようです。

(詳しくは、以下の動画で解説していますので、よろしければご覧ください)

こんな記事も読まれています

イチオシ

40代から感じるモヤモヤを解消できる 無料動画セミナー

あすコロ式・40代からの人生アップデート【新】戦略

アラフォーでキャリアを失ったバリバリ左脳人間・スピリチュアル耐性ゼロの元金融マンが、人生どん底から立ち上がる過程でたどり着いた「人生再構築メソッド」。40代・50代を過ぎて多くの人が感じる「このままでいいんかな?」「この先どうしたらいいかわからない」というモヤモヤを解消し、人生後半戦をアップデートさせる【新】戦略。

今すぐ無料で動画セミナー(80分)を見る ▶

TOP