LoginSignup
0
0

More than 1 year has passed since last update.

[Flutter]TextFieldを使ったViewを作成したら時限爆弾みたいにクラッシュしまくった話

Posted at

結論から伝えるとonChangeの中でFuture.delayedを使うと時限爆弾の如くいきなりアプリが落ちると言った内容です。

流れ

1.textFieldが二つ以上並んだ共通部品を作成

2.引数としてonChangeとtextEditingControllerを準備

3.引数でFuture.delayedの入ったonChangeを渡すとログも出ずにlost connectionとだけ表示されアプリがクラッシュする

該当のonChangeメソッドはこんな感じ

  onChangeFunc(String text) {
    Future.delayed(Duration.zero,(){

      setState(() {

        //処理

      });
    });
  }

これを渡した時に謎に時限爆弾の如く1〜5分以内に落ちる

textFieldが一つの場合は落ちることなく処理できていたので何が問題なのかわからず1ヶ月弱、アプリが落ちるたびにデバックを再開するという地獄のような日々を送ってました

どこかの記事でonChangeを外から呼び出す時はFuture.delayedが必要みたいなことを書いてあった気がしてまさかそれがクラッシュの原因の一つになっているなんて思いもしませんでした。

こんな問題にぶつかる人は少ないと思いますが、こういったアプリを作るみたいな人は僕みたいな地獄のような日々を送ってほしくないなと思ったので忘備録としてここの残します。

クラッシュしないってだけでほんと幸せだなぁとつくづく思った日々でした

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0