Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Android開発の罠と、その避け方
Search
nakawai
April 23, 2017
Programming
0
26
Android開発の罠と、その避け方
nakawai
April 23, 2017
Tweet
Share
More Decks by nakawai
See All by nakawai
エンジニアがエンジニアリングマネージャーになって最初にやったこと
nakawai
2
1.1k
電卓アプリで再帰降下法を使った話
nakawai
0
190
AndroidでTensorflow
nakawai
0
29
テンプレート作ると爆速Android 開発できる?
nakawai
0
22
AndroidでSRCNN 2017
nakawai
0
32
AndroidでSRCNNできる?
nakawai
0
49
Other Decks in Programming
See All in Programming
非ブラウザランタイムとWeb標準 / Non-Browser Runtimes and Web Standards
petamoriken
0
430
ドメインイベント増えすぎ問題
h0r15h0
2
570
rails newと同時に型を書く
aki19035vc
5
710
20241217 競争力強化とビジネス価値創出への挑戦:モノタロウのシステムモダナイズ、開発組織の進化と今後の展望
monotaro
PRO
0
290
Lookerは可視化だけじゃない。UIコンポーネントもあるんだ!
ymd65536
1
130
chibiccをCILに移植した結果 (NGK2025S版)
kekyo
PRO
0
140
PicoRubyと暮らす、シェアハウスハック
ryosk7
0
230
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
カンファレンス動画鑑賞会のススメ / Osaka.swift #1
hironytic
0
170
いりゃあせ、PHPカンファレンス名古屋2025 / Welcome to PHP Conference Nagoya 2025
ttskch
1
190
自分ひとりから始められる生産性向上の取り組み #でぃーぷらすオオサカ
irof
3
280
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
250
Featured
See All Featured
A better future with KSS
kneath
238
17k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.2k
Automating Front-end Workflow
addyosmani
1366
200k
GitHub's CSS Performance
jonrohan
1030
460k
Measuring & Analyzing Core Web Vitals
bluesmoon
5
210
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Designing Experiences People Love
moore
139
23k
The Invisible Side of Design
smashingmag
299
50k
Building an army of robots
kneath
302
45k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
A designer walks into a library…
pauljervisheath
205
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
Transcript
Android開発の ワナと、その避け方 @nakawai 2017/4/23 かものはし
開発中の ある日
原因を探ると Activity/Fragmentのメンバ変数 mHogeが、なぜかnull 再現不可
やりがち if(mHoge != null){...}
根本的な 原因は? なぜnullに?
答え: 再生成
Androidのメモリ管理 メモリが足りない ↓ backgroundのアプリを、いったん破棄 ↓ 必要なときに再生成
ルールを 知らないと、 状態が 復元されない
nullの理由 所定の手続きを 経ていなかった
主要コンポーネントの ライフサイクルを把握すれば 回避可能 • #onSavedInstanceState() • Fragment#setArguments() • Parcelable
テスト 「常にActivityを破棄」をON
微妙な点 コールバック記述が 冗長になる ダイアログなど
「Android開発の罠と、その避け方」 以上 なにか質問あれば