小程序
小游戏
企业微信
微信支付
扫描小程序码分享
很多时候我们很需要onExit,做一些善后的工作?腾讯为什么不开放出来?
onshow和onhide,onload和onunload倒是成对的,onLaunch倒没有成对的了。
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
小程序又不能主动退出,只有在进入后台一段时间后,或内存不足时被微信销毁。难道还要等你onExit执行完吗。
善后工作可以在进入后台 onHide(APP)时做
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
比如一些全局的数据我要存本地或存数据库,它们不是某个页面的数据,而是全局的。
一个小程序运行的这个周期可能会有多次onshow onhide,我不能每次onhide都去写数据库,这太浪费资源了。如果有onexit,那我写一次就OK了,这些数据也只需要写一次。
小程序的onHide(不是页面的onHide)并不会很频繁触发吧?就算给你个主动退出的功能和onExit时机,也是不可靠的,因为小程序被销毁时你根本没机会发请求。onHide更可靠些。
onHide(APP)其实只是有某个页面的onhide触发了,顺带触发下它。每次有页面的onhide,ta都会运行。
我之所以提这个要求,是因为我没有自己的服务器,用的是腾讯的免费云数据库,但是ta有流量和次数限制,所以要省着用。
当然有规避的办法,但是会麻烦点,如果有这个事件函数,就会简单些。
如果有onexit函数,那当然是等我整个onexit函数执行完后,才真正销毁小程序。这个道理跟销毁页面是一样的道理。不能说页面很快被销毁了,页面的onhide函数就来不及执行了。
APP的onHide和页面的onHide不一样的,你从A页面切换到B页面,A页面会触发onHide,但APP不会;你小程序切到后台,当前页和APP都会触发onHide。
主动退出当然可以等你onExit执行完啊,我说的是小程序“被”销毁,内存不足时就不可能等你了吧?
一般会等的。
一般的内存管理系统当然都有余量,不会真等到100%耗尽的时候再通知微信来杀小程序。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
小程序又不能主动退出,只有在进入后台一段时间后,或内存不足时被微信销毁。难道还要等你onExit执行完吗。
善后工作可以在进入后台 onHide(APP)时做
比如一些全局的数据我要存本地或存数据库,它们不是某个页面的数据,而是全局的。
一个小程序运行的这个周期可能会有多次onshow onhide,我不能每次onhide都去写数据库,这太浪费资源了。如果有onexit,那我写一次就OK了,这些数据也只需要写一次。
小程序的onHide(不是页面的onHide)并不会很频繁触发吧?就算给你个主动退出的功能和onExit时机,也是不可靠的,因为小程序被销毁时你根本没机会发请求。onHide更可靠些。
onHide(APP)其实只是有某个页面的onhide触发了,顺带触发下它。每次有页面的onhide,ta都会运行。
我之所以提这个要求,是因为我没有自己的服务器,用的是腾讯的免费云数据库,但是ta有流量和次数限制,所以要省着用。
当然有规避的办法,但是会麻烦点,如果有这个事件函数,就会简单些。
如果有onexit函数,那当然是等我整个onexit函数执行完后,才真正销毁小程序。这个道理跟销毁页面是一样的道理。不能说页面很快被销毁了,页面的onhide函数就来不及执行了。
APP的onHide和页面的onHide不一样的,你从A页面切换到B页面,A页面会触发onHide,但APP不会;你小程序切到后台,当前页和APP都会触发onHide。
主动退出当然可以等你onExit执行完啊,我说的是小程序“被”销毁,内存不足时就不可能等你了吧?
一般会等的。
一般的内存管理系统当然都有余量,不会真等到100%耗尽的时候再通知微信来杀小程序。