关于 Handler 重复执行 问题

怀君 2016-04-13 04:42:10
我封装了一个类。这个类里面有使用 Handler。
封装的这个类,放到一个Activity的onResume();方法里面。导致,每次进这个界面都会执行Handler.这个有什么解决方法。
...全文
546 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wei220000 2016-04-14
  • 打赏
  • 举报
回复
单例,就是只有第一次才会执行,就是个判断,比如instance==null,那就执行,否则不执行。你可以设置activity启动的第一个onresume()只是创建这个类,之后的onresume,才会调用。
怀君 2016-04-14
  • 打赏
  • 举报
回复
引用 9 楼 HJF_HUANGJINFU 的回复:
[quote=引用 6 楼 dang当年情的回复:][quote=引用 5 楼 HJF_HUANGJINFU 的回复:] [quote=引用 3 楼 dang当年情的回复:][quote=引用 1 楼 HJF_HUANGJINFU 的回复:] onResume方法在Activity变为前台状态时,就会执行。你可以看一下Activity的生命周期方法,如果没有什么特殊需求的话,放在onCreate或者onStart中执行也是可以的。
NO,这个类是,更新界面的Dialog.所以。要经常调用。 有的人说用单例,单例没搞懂。[/quote] 说清楚需求,贴上你的代码,让大家看看[/quote] 我的需求是。封装了一个测试版本更新的一个dialog弹窗。 能在Activity里面调用这个dialog,不让它重复去new一个新的Handler(); [/quote] 你难道每次都在onResume里面新建一个Dialog?这样不是很合适。你在当前Activity里面,维护一个Dialog实例就行了。 记住,不要随意创建对象。[/quote] 对啊,他每次都会弹出来。
silenccce 2016-04-14
  • 打赏
  • 举报
回复
引用 6 楼 dang当年情的回复:
[quote=引用 5 楼 HJF_HUANGJINFU 的回复:] [quote=引用 3 楼 dang当年情的回复:][quote=引用 1 楼 HJF_HUANGJINFU 的回复:] onResume方法在Activity变为前台状态时,就会执行。你可以看一下Activity的生命周期方法,如果没有什么特殊需求的话,放在onCreate或者onStart中执行也是可以的。
NO,这个类是,更新界面的Dialog.所以。要经常调用。 有的人说用单例,单例没搞懂。[/quote] 说清楚需求,贴上你的代码,让大家看看[/quote] 我的需求是。封装了一个测试版本更新的一个dialog弹窗。 能在Activity里面调用这个dialog,不让它重复去new一个新的Handler(); [/quote] 你难道每次都在onResume里面新建一个Dialog?这样不是很合适。你在当前Activity里面,维护一个Dialog实例就行了。 记住,不要随意创建对象。
ganshenml 2016-04-13
  • 打赏
  • 举报
回复
引用 7 楼 u013290250 的回复:
[quote=引用 4 楼 ganshenml 的回复:] 设置flag不行吗?
说是可以用单例?[/quote] 就是一个判断的数值而已。
怀君 2016-04-13
  • 打赏
  • 举报
回复
引用 4 楼 ganshenml 的回复:
设置flag不行吗?
说是可以用单例?
怀君 2016-04-13
  • 打赏
  • 举报
回复
引用 5 楼 HJF_HUANGJINFU 的回复:
[quote=引用 3 楼 dang当年情的回复:][quote=引用 1 楼 HJF_HUANGJINFU 的回复:] onResume方法在Activity变为前台状态时,就会执行。你可以看一下Activity的生命周期方法,如果没有什么特殊需求的话,放在onCreate或者onStart中执行也是可以的。
NO,这个类是,更新界面的Dialog.所以。要经常调用。 有的人说用单例,单例没搞懂。[/quote] 说清楚需求,贴上你的代码,让大家看看[/quote] 我的需求是。封装了一个测试版本更新的一个dialog弹窗。 能在Activity里面调用这个dialog,不让它重复去new一个新的Handler();
silenccce 2016-04-13
  • 打赏
  • 举报
回复
引用 3 楼 dang当年情的回复:
[quote=引用 1 楼 HJF_HUANGJINFU 的回复:] onResume方法在Activity变为前台状态时,就会执行。你可以看一下Activity的生命周期方法,如果没有什么特殊需求的话,放在onCreate或者onStart中执行也是可以的。
NO,这个类是,更新界面的Dialog.所以。要经常调用。 有的人说用单例,单例没搞懂。[/quote] 说清楚需求,贴上你的代码,让大家看看
ganshenml 2016-04-13
  • 打赏
  • 举报
回复
设置flag不行吗?
怀君 2016-04-13
  • 打赏
  • 举报
回复
引用 1 楼 HJF_HUANGJINFU 的回复:
onResume方法在Activity变为前台状态时,就会执行。你可以看一下Activity的生命周期方法,如果没有什么特殊需求的话,放在onCreate或者onStart中执行也是可以的。
NO,这个类是,更新界面的Dialog.所以。要经常调用。 有的人说用单例,单例没搞懂。
怀君 2016-04-13
  • 打赏
  • 举报
回复
NO,这个类是,更新界面的Dialog.所以。要经常调用。
silenccce 2016-04-13
  • 打赏
  • 举报
回复
onResume方法在Activity变为前台状态时,就会执行。你可以看一下Activity的生命周期方法,如果没有什么特殊需求的话,放在onCreate或者onStart中执行也是可以的。

80,490

社区成员

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

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