Android、業務で意味不明な挙動に殺されそう
ボンクラプログラマー
頭とお腹が弱い。
最近は個人鯖の @shibafu528 がメインです。
⚠️ CW設定のない下品な発言が非常に多いです。これは仕様ですのでご了承下さい。
ℹ️ spam対策でフォロー承認制にしています。上の一文が構わないという方ならお気軽にどうぞ。
FINAL FANTASY XIV 関連の著作物は
(C) SQUARE ENIX CO., LTD. All Rights Reserved.
辺りまでの泥に入ってたスライムくん絵文字がぽよぽよ動いてるやつはたまに使いたくなる
DataBindingに押されてるかとばかり思っていたがメンテナンスが続いていて驚くばかり
DataBindingを導入していない牧歌的なプロジェクトなら良い選択だと思うんですよねこれ、まぁメモリリークのリスクが付いて回るなんてのも聞いた覚えがあるんですが……
動的にn個のビューをinflateして画面に追加する……みたいなのやっているが、その中でIDが振られているやつに限って、タスクキル後のrestoreで最後に動的追加したビュー内の状態がコピペされてしまうという現象があった。よくよく考えれば、IDが振られているということはAndroid フレームワークによって自動状態管理される対象なので、たまたま最後のやつだけ保存されて、復元する時は全部が引っかかってしまったのだろう。
LinearLayout
|- LinearLayout (動的追加)
| `- CheckBox[id=check]
|- LinearLayoyut (動的追加)
`- CheckBox[id=check]
みたいにすると、一番後ろのCheckBoxの状態だけ保存されて、たとえばそいつをチェック付けてあったら、画面復帰時は全部チェックされちまうみたいな
こんかいハマった案件ではどうせ画面破棄されたら動的追加分は再生成して状態も自前で設定するので、フレームワークによって保存される必要性はない場所。
onCreateで生成してるから、まぁその後のライフサイクルフェーズで自動リストアされてぶっこわれてんだろうなぁという予想
これが糸口になった >> Android における View にまつわる状態とライフサイクルについての考慮のメモ - ひだまりソケットは壊れない
https://vividcode.hatenablog.com/entry/android/view-instance-state
Viewをただのデータから一方向に生成される結果としてだけ見ると、突然こういうハマり方するんやな……
TLに流れたワードから自動生成するbotなのでbot化すれば俺になりすませるな…
今日テスト担当者にAPKわたすのにJenkinsジジイからカツアゲしてくれということにしたんだけど、俺がビルドしなくていいだけで随分気が楽だ
HUGEのチルトホイールとかいうトラックボール要素ゼロのところがそろそろ壊れそう、Excel相手に使いすぎた
GridLayout使ってたらAndroid StudioのDesigner上ではLegacyにカテゴリされてることに気づいて泣いた
仕事、Intent過積載をさっさと解消しないと検証機でTransactionTooLargeが出続けるという業を背負っている(つらい)
別に今でもActivityに素朴に実装していいしJavaJavaしていいのよ Deprecatedになったものは数あるけど
つーかけっこう名がある人でも3.x以降のFragmentへの実装disってるの見られるし、別に今でもKotlin使ってるプロジェクトが多勢でもないし
ACTION_GET_CONTENTでSAF呼ばれるようになったのいつからだ……?