三山四海触发条件技巧的还是有什么技巧的

[android]OnPause、 onStop 和尽管方法中调用超类方法的正确顺序是什么?和为什么?
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
我正要通过 Android 开发者网站,清爽上活动的生命周期,并在每个代码示例中,有在超级类方法旁边的注释说:"总是首先调用超类方法"。
虽然这是有道理在创作半个周期中: 里面、 onStart 和 onResume,我只是有点迷糊关于销毁半个周期的正确程序是怎样的: onPause onStop,尽管。
首先之前摧毁可能取决于实例特定资源的超类资源, 破坏实例特定资源意义,不在其他方式圆。但评论否则建议。我错过了什么?
编辑: 因为人们似乎会搞不清楚问题的意图,想知道什么是下列哪一项正确?和为什么?
1.谷歌建议
protected void onStop() {
super.onStop();
// Always call the superclass method first
//my implementation here
2.其他方式
protected void onStop() {
//my implementation here
super.onStop();
解决方法 1:
首先之前摧毁可能取决于实例特定资源的超类资源, 破坏实例特定资源意义,不在其他方式圆。但评论否则建议。我错过了什么?
我认为: 没有一件事。
这个答案从标记 (aka CommonsWare 上等) 揭示了这一问题:链接-调用超类方法应该是第一次发言?。但是,然后,您可以看到以下注释离开了他的回答:
但为什么是正式医生说:"始终调用超类方法第一次"在 onPause() 中吗?
回到原点。好吧,让我们从另一个角度看看这个。我们知道,Java 语言规范并不在其中指定的顺序对的调用 super.overridenMethod() 必须放置 (或如果必须在所有放在调用)。
类的活动,在 super.overridenMethod() 调用是必需和强制执行:
if (!mCalled) {
throw new SuperNotCalledException(
"Activity " + mComponent.toShortString() +
" did not call through to super.onStop()");
mCalled设置为 true 的 Activity.onStop() 。
现在上, 左到辩论的唯一详细信息是排序。
I also know that both work
确定。看看方法体为 Activity.onPause():
protected void onPause() {
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onPause " + this);
// This is to invoke
// Application.ActivityLifecyleCallbacks.onActivityPaused(Activity)
getApplication().dispatchActivityPaused(this);
// The flag to enforce calling of this method
无论你夹心阶层对的调用 super.onPause() ,你会没事。Activity.onStop() 有一个类似的方法体。但看看 Activity.onDestroy():
protected void onDestroy() {
if (DEBUG_LIFECYCLE) Slog.v(TAG, "onDestroy " + this);
// dismiss any dialogs we are managing.
if (mManagedDialogs != null) {
final int numDialogs = mManagedDialogs.size();
for (int i = 0; i & numD i++) {
final ManagedDialog md = mManagedDialogs.valueAt(i);
if (md.mDialog.isShowing()) {
md.mDialog.dismiss();
mManagedDialogs =
// close any cursors we are managing.
synchronized (mManagedCursors) {
int numCursors = mManagedCursors.size();
for (int i = 0; i & numC i++) {
ManagedCursor c = mManagedCursors.get(i);
if (c != null) {
c.mCursor.close();
mManagedCursors.clear();
// Close any open search dialog
if (mSearchManager != null) {
mSearchManager.stopSearch();
getApplication().dispatchActivityDestroyed(this);
在这里,排序可能可能问题取决于如何您的活动是安装过程中,和是否调用 super.onDestroy() 会干扰后面的代码。
最后一句,该语句作为 Always call the superclass method first 似乎没有多少证据来支持它。(对于语句) 更糟的是下面的代码已从 android.app.ListActivity :
public class ListActivity extends Activity {
protected void onDestroy() {
mHandler.removeCallbacks(mRequestFocus);
super.onDestroy();
而且,从 LunarLander 示例应用程序 android sdk 中包括:
public class LunarLander extends Activity {
protected void onPause() {
mLunarView.getThread().pause(); // pause game when Activity pauses
super.onPause();
摘要和值得提及:
用户菲利普 Sheard : 提供一个方案,在对的调用 super.onPause() 在一项活动的开始使用的情况下必须延迟 startActivityForResult(Intent) 。结果使用的设置 setResult(...) 后 super.onPause() 将无法工作。他后来澄清就此在评论中向他的回答。
用户 Sherif elKhatib : 解释了为什么能让第一次初始化其资源并摧毁其资源的超类最后跟随从逻辑:
让我们考虑一下你下载的已包含一个 getLocation() 函数,提供位置 LocationActivity 的库。最有可能,这项活动将需要初始化,将迫使你先打个电话 super.onCreate onCreate() 在其东西。你已经做了,因为你觉得有意义。现在,你尽管您决定您想要在 SharedPreferences 中保存的位置在某个地方。如果您第一次调用 super.onDestroy,它是某种程度上可能那 getLocation 将在此调用后返回一个 null 值,因为 LocationActivity 执行勾销的位置值,尽管。想法是,如果发生这种情况你不会怪它。因此,会调用 super.onDestroy 在结束后你完了你自己尽管。
他接着指出: 如果儿童的类适当地隔离 (在资源依赖项条款) 从父类, super.X() 的调用不需要符合任何秩序规范。
方案中通过阅读此页面上看到他的回答哪里安置 super.onDestroy() 调用不会影响程序逻辑。
从由标记答案:
方法你重写是创建组件 (onCreate()、 onStart()、 onResume() 等) 的一部分,您应该链接到的第一个语句作为超类,以确保 Android 有其机会尝试做某事之前先做其工作有已经完成的工作所依赖。
方法重写的是组件的破坏 (onPause()、 onStop()、 onDestroy() 等),你应该先做你的工作和到最后一件事作为超类链的一部分。这样,在 android 系统清理东西上,取决于你的工作的情况下你将会完成您的工作第一次。
返回东西非 void (onCreateOptionsMenu() 等),有时你链在返回语句中,假设你不专门做需要强制返回的特定值的东西超类的方法。
其他 — — onActivityResult() — — 如一切整体上是你的。我倾向于链到超类作为第一件事,但除非你碰到的问题,链接以后应该没问题。
鲍勃 · 克恩斯从:
它是一种好模式 [(的模式标记表明以上)],但是我发现除了一些例外情况。例如,我想申请到我 PreferenceActivity 的主题不会生效除非提出它的超类 onCreate().
用户史蒂夫 · 伊也带来了对此的关注:
我只知道一种情况,超级调用的时机是必要。如果你想要修改的标准行为的主题或显示,这样在里面,你要做它之前你叫超级才能看到效果。否则 AFAIK 是在这段时间你叫它没有区别。
用户苏尼尔 Mishra确认订单 (最有可能的) 不发挥作用,当调用活动类的方法。他还声称,第一次调用超类方法被认为是最佳做法。然而,我不能确认这。
用户 LOG_TAG : 解释了为什么对超类的构造函数的调用需要之前其他一切。在我看来,这种解释不添加的质询。
注意结束: 信托,但验证。大部分的答案此页面上按照这种方法来看看如果语句 Always call the superclass method first 具有逻辑后备。事实证明,它没有 ;至少,不在此类活动。一般情况下,其中一个应通读超类的源代码中,以确定是否订购的超级的方法的调用是一项要求。我有特殊的触发36宫格技巧【锤子科技吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:729,411贴子:
我有特殊的触发36宫格技巧收藏
产销量连年位于国内喷码机行业前列!
在我圈出来的区域
向右滑就能退出36宫格
好的 此贴终结
我也发现了,不知道是不是bug
你不是第一个发现的,我也是今天发现的。在应用界面下方从边框往中间左或右划均有效,上下划无效
红线以下都是可以触发的
为啥子我触发不了
我还是觉得按菜单键比较方便
上海鸣志,中国运动控制产品综合制造商,提供更专业、节能、高效的产品
卧槽,这bug我喜欢,再也不用按菜单键了。
坚果2.0可以么。
悄悄告诉你,8.26那天我就知道了
坚果手机下面三颗触摸按键 从左到右或者从右到左 滑动前两颗按键就能触发 或者屏幕内分割线以为从左到右或者从右到左都可以触发
哈哈哈哈,我昨天也是偶然发现的
我的怎么没有啊,V1.1.0的
8.27我就开始用了,是为了弥补菜单键下拉通知栏,
2.0的功能。。
你倒是说清版本啊!我这1.5.1的还以为坏了呢
感觉还是挺方便的,2.0要捏手指有点烦,特别是单手的情况
早就触发过了
登录百度帐号推荐应用主题 : init 什么时候调用&&和自己重写的方法有什么区别?
级别: 新手上路
UID: 478640
可可豆: 33 CB
威望: 34 点
在线时间: 30(时)
发自: Web Page
来源于&&分类
init 什么时候调用&&和自己重写的方法有什么区别?&&&
init 什么时候调用&&和自己重写的方法有什么区别?
级别: 新手上路
UID: 478640
可可豆: 33 CB
威望: 34 点
在线时间: 30(时)
发自: Web Page
比如- (instancetype)init {}和- (instancetype)initWithModel:(STMyOrderDetail *)myOrderDetail{&&},&&什么情况下初始化第二种情况呢
级别: 骑士
UID: 517041
可可豆: 558 CB
威望: 417 点
在线时间: 1762(时)
发自: Web Page
子类继承父类方法 ..子类重写父类方法的时候&&先执行子类方法&&也就是你说的initWithModel******
级别: 骑士
UID: 485216
可可豆: 541 CB
威望: 513 点
在线时间: 833(时)
发自: Web Page
回 1楼(昨夜星辰) 的帖子
你去调用的时候用第二种方法,两种只能写一种
级别: 新手上路
UID: 478640
可可豆: 33 CB
威望: 34 点
在线时间: 30(时)
发自: Web Page
回 2楼(q8900321) 的帖子
那我们用- (instancetype)initWithModel:(STMyOrderDetail *)myOrderDetail{&&}的时候,myOrderDetail是用来接收上个页面传的值, 还是用来初始化一个对象呢
级别: 骑士
UID: 517041
可可豆: 558 CB
威望: 417 点
在线时间: 1762(时)
发自: Web Page
调用方法的时候传入一个参数 , 然后方法实现里面使用这个参数&&应该是这样吧&&我也是新手
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版电平触发和边沿触发有什么不同点?设定方法是什么_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
电平触发和边沿触发有什么不同点?设定方法是什么
我有更好的答案
否则B-&gt,则执行指令。边沿触发:判断相邻2哥周期的采样是否不同,假设有高低电平A,B,如果你设定A-&B执行指令,则称为下降沿触发是单片机吗?电平触发:判断n个周期的采样是否都为同一个值,且这个值是你的设定触发电平
是数电吧?电平触发易受外来干扰,改成边沿触发,减少外来的干扰
为您推荐:
其他类似问题
您可能关注的内容
电平的相关知识
换一换
回答问题,赢新手礼包

我要回帖

更多关于 wpf的触发器有哪几种 的文章

 

随机推荐