如何将一个正在执行的操作终止,但是不退出程序?

xjyhhh 2016-12-23 06:07:30
是这样的,我的android程序中打开了一个activity,里面进去就用file.list()方法读取指定目录中的所有文件然后显示到GridView中,有一个小bug,比如我的目录下有大量文件,file.list执行速度很慢,一直到能显示到GridView中需要一段时间,如果在还未获取完成时退出了该activity,但是它的获取操作可能还在继续,获取完后才会被回收,如果在该次操作还没有完成并回收前再次进入该页面,又会重新开始一次操作,导致更慢,所以我如何能在该activity执行onDestroy的时候终止掉这里面的所有操作?(file.list()获取文件)求大侠解答,或提供思路,由衷感谢!
...全文
735 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinahbbt 2017-02-23
  • 打赏
  • 举报
回复
你可以在ondestroy里面杀掉那个子线程啊
jscoolstar 2017-02-23
  • 打赏
  • 举报
回复
而且看发帖都过了两个月了,还没解决吗?
jscoolstar 2017-02-23
  • 打赏
  • 举报
回复
那你就在ondestory里面结束不就行了吗?。。啥意思啊
xjyhhh 2017-02-23
  • 打赏
  • 举报
回复
引用 10 楼 jscoolstar 的回复:
而且看发帖都过了两个月了,还没解决吗?
用过强制杀死线程的方法,有效果但不明显,不过那个项目我好久没碰了.都是写着练手的
xjyhhh 2017-02-23
  • 打赏
  • 举报
回复
引用 12 楼 xiaohuh421 的回复:
当 file.list 这样的阻塞函数, 没有提供中断功能时, 就只能暴力的杀掉它了. 别无它法. 赵老师经常在说: 不想任何事都能完美解决, 而是要学会在烂摊子上重整河山
有道理
ganshenml 2017-02-23
  • 打赏
  • 举报
回复
设置一个回调处理呗,在onDestroy方法中回调一个tag
xiaohuh421 2017-02-23
  • 打赏
  • 举报
回复
当 file.list 这样的阻塞函数, 没有提供中断功能时, 就只能暴力的杀掉它了. 别无它法. 赵老师经常在说: 不想任何事都能完美解决, 而是要学会在烂摊子上重整河山
xjyhhh 2017-02-22
  • 打赏
  • 举报
回复
忘记说了,我的file.list的操作是在子线程中进行的,不是主线程!所以我的问题不是UI线程卡顿,而是file.list的执行速度慢,因为我说了,我的bug产生的条件是目录中有大量文件时,比如手机的相机目录,几千张图片文件时,然后在等待子线程把文件list变成图标显示到GridView上,这需要一段时间,如果在这段时间未到来之前退出了当前的activity,但没有退出整个应用,操作可能还在继续,并且这时候再次进入该activity,重新开始了一个操作,此时可能就有两个file.list的操作在执行,导致更慢,所以请帮我看看有什么办法吧各位
xjyhhh 2017-02-22
  • 打赏
  • 举报
回复
引用 6 楼 phomel 的回复:
应用退出,应该就结束方法了吧,又不像handler发送消息,退出应用后还在执行.耗时操作和大量计算的操作应该在子线程中执行,提供一个异步线程就好了,新建一个AsyncTask,后台执行完再显示在GridView就好了,卡顿的主要原因是因为你在UI线程做了耗时操作,阻塞了activity渲染View的cpu时间片吧.
抱歉我提问的时候忘记说明:已经是子线程了,没有人会不开子线程做耗时操作的... 还有我的问题不是卡顿,而是...请看仔细吧..
柚子Hyc 2016-12-26
  • 打赏
  • 举报
回复
应用退出,应该就结束方法了吧,又不像handler发送消息,退出应用后还在执行.耗时操作和大量计算的操作应该在子线程中执行,提供一个异步线程就好了,新建一个AsyncTask,后台执行完再显示在GridView就好了,卡顿的主要原因是因为你在UI线程做了耗时操作,阻塞了activity渲染View的cpu时间片吧.
八戒悟能 2016-12-24
  • 打赏
  • 举报
回复
用子线程不就行了。。
xjyhhh 2016-12-23
  • 打赏
  • 举报
回复
是不是沉了!!!
xjyhhh 2016-12-23
  • 打赏
  • 举报
回复
..的吗???
xjyhhh 2016-12-23
  • 打赏
  • 举报
回复
一个会的都没有.....

80,357

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧