アプリが終了するタイミングについてわからないことがあるので質問させていただきます。
そもそもアプリが終了するということについてよくわかりません。
iPhoneアプリを起動させたり以下の記事を読んだりしている内にだんだんもっと分からなくなってきました。
今更聞けない、iOSのマルチタスクの仕組みについて解説しておく
まず何かのiPhoneアプリを起動して遊んでいたとします。そしてホームボタンを押すと、それから5秒以内にはアプリは終了すると上の記事に書いているのですが、「Not running」が一般的にアプリを終了しているという状態でしょうか?それとも「Suspended」が終了という状態でしょうか?
「Not running」と「Suspended」の違いはメモリを確保してるかしてないかだけで、どちらもアプリは動作してないのでどちらもアプリを終了している状態ということでよろしいでしょうか?
今まで単にホームボタンを押すとアプリをバックグラウンドで実行をさせる状態にし、マルチタスク画面からアプリを上にフリックするとアプリが終了するのだと思っていたのですが、上の記事を読むとそうでないことが分かってきました。
しかし、例えばiPhoneにデフォルトで備わっている連絡先アプリを起動して誰かの連絡先情報を編集していたとします。この時にホームボタンを押してホーム画面に遷移し、5秒以上経ってからマルチタスク画面を起動して先ほどの連絡先アプリを起動すると、いきなり先ほどの編集画面からアプリがスタートすると思います。
次に今度は編集中にホームボタンを2回押してマルチタスク画面を起動して連絡先アプリを上にフリックしてマルチタスクから削除します。そしてホーム画面がら連絡先アプリを起動すると、編集画面からの起動ではなく連絡先一覧(つまり一番最初の画面)から起動すると思います。
両方ともホームボタンを押したことで状態が「Suspended」になっていると思います。なのになぜ次回の起動で最初に表示される画面が違うのでしょうか?どちらもアプリが終了しているので、どちらも一番最初の画面から起動されるべきだと思うのですが...。
ということはマルチタスク画面からアプリを上にフリックして削除すると、アプリは「Not running」になるのでしょうか?
そしてホームボタンを1回押しただけだと、アプリは「Suspended」になるのでしょうか?
まとめると、ホームボタンを1回押してホーム画面に遷移するとアプリはメモリを確保したまま終了し、マルチタスクから上にフリックしてアプリを削除した場合はメモリを開放してアプリを終了するということでよろしいでしょうか?
また、以前アプリを使っていてある情報を取得した後にアプリ全体の情報を更新するためにリフレッシュボタンを押すかマルチタスクを起動してそのアプリを上にフリックしてからもう一度そのアプリを開いて情報を更新していたのですが、情報を取得後にホームボタンを2回押してマルチタスクを起動した後にもう一度ホームボタンを押してそのアプリに戻ると情報が更新されていました。ということは、一回でもホームボタンが押されるとiOSではアプリの状態が最新に更新されるようになっているのでしょうか?(それともそのアプリにそういう処理が書かれていただけ?)
どなたかこの辺に詳しい方がいれば教えていただきたいです。よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/02/08 01:23
2016/02/08 04:38 編集
2016/02/08 04:57