finish()処理について

1,662 views
Skip to first unread message

teas

unread,
Jun 3, 2011, 9:03:40 PM6/3/11
to android-g...@googlegroups.com
お世話になります。
とあるアプリの製作中なのですが、困ったことがおきまして調べてみたところわかりかねたためご質問させていただきます。
ご存知の方いらっしゃいましたらご教示をお願いいたします。

質問内容:
 アプリのfinish()処理なのですが、onStopやonPauseのときにfinish()を記載しているのですが、起動中のタスクを見た
ところ立ち上がったままになってしまいます。アプリはSurfaceViewを使用していましてDestroyedもちゃんと通っています。
finish()のところも通っています。
別のActivityからintentで遷移しているのですが、そのあたりが問題なのかな・・・

 少し話はずれますが、皆様はアプリの解放はどのようにされていますか?アプリのアイコンを複数回クリックすると結構
メモリ使用率があがっちゃいます。画像などはrecycleしてはいるのですが・・・

重村浩二

unread,
Jun 3, 2011, 9:30:30 PM6/3/11
to android-g...@googlegroups.com
重村と申します。

今確認できる状況にないので恐らくですが、下記の原因は無限ループに陥ってしまっているためだと思います。
finish()の呼び出しにより、onStop()やonPause()を経由していませんか?
それにより、毎回finish()を呼んでいる状態になっているのではないでしょうか。
 Activityのライフサイクルについて確認してみてください。

上記メソッドに対してLogを仕込んでやって、どのような出力をしているかを確認すれば、
原因が確定出来ると思います。

ではでは。

2011年6月4日10:03 teas <ast...@redcave.net>:
--
このメールは Google グループのグループ「日本Androidの会」の登録者に送られています。
To view this discussion on the web visit https://groups.google.com/d/msg/android-group-japan/-/WHQzelU0aHBVYWNK.
このグループに投稿するには、android-g...@googlegroups.com にメールを送信してください。
このグループから退会するには、android-group-j...@googlegroups.com にメールを送信してください。
詳細については、http://groups.google.com/group/android-group-japan?hl=ja からこのグループにアクセスしてください。



--
日本Androidの会
幹事 中国支部長
重村 浩二(SHIGEMURA Koji)
tel: 090-7546-5107
mail: k-shi...@android-group.jp

teas

unread,
Jun 3, 2011, 11:42:17 PM6/3/11
to android-g...@googlegroups.com
重村様

ご回答ありがとうございます。
その可能性も考えましたがLogを書き出して確認をしましたが1回しか通過していませんでした。
onStopもonPauseも1回です。そのどちらにfinish()を書いてもタスク的には終了してくれませんでした。
流れ的にはonPauseが通過してSurfaceViewのDestoryedが通過してonStopが通過しています。
onPauseの後にDestoryedの処理があるため終了しないのかと思いonStopに記述しましたが現象は
変わりませんでした・・・

トムキャット

unread,
Jun 4, 2011, 4:03:34 AM6/4/11
to 日本Androidの会
トムキャットです。

回答ではありませんが、参考になる情報があります。

http://it.goodpage.biz/cache/cache88.html

finish()して、onDestroy()が呼ばれてたら、それで十分だとおもいますけど、だめですかね。

teas

unread,
Jun 7, 2011, 2:03:52 AM6/7/11
to android-g...@googlegroups.com
自己レスです。

結局のところintent元をfinish()していなかったためintent先のActivityは終了していたってオチでした。
Reply all
Reply to author
Forward
0 new messages