61阅读

中式和欧式的区别-Activity中finish()和onDestroy()的区别

发布时间:2017-08-25 所属栏目:finish的过去式

一 : Activity中finish()和onDestroy()的区别

finish()方法用于结束一个Activity的生命周期,而onDestory()方法则是Activity的一个生命周期方法,其作用是在一个Activity对象被销毁之前,Android系统会调用该方法,用于释放此Activity之前所占用的资源。

finish会调用到onDestroy方法,
可以在onDestroy里打印一句话,就会发现在finish方法那也会打印这句话。。。

Activity.finish()
Call this whenyour activity is done and should be closed.
在你的activity动作完成的时候,或者Activity需要关闭的时候,调用此方法。
当你调用此方法的时候,系统只是将最上面的Activity移出了栈,并没有及时的调用onDestory()方法,其占用的资源也没有被及时释放。因为移出了栈,所以当你点击手机上面的“back”按键的时候,也不会再找到这个Activity。
Activity.onDestory()
the system istemporarily destroying this instance of the activity to savespace.
系统销毁了这个Activity的实例在内存中占据的空间。
在Activity的生命周期中,onDestory()方法是他生命的最后一步,资源空间等就被回收了。当重新进入此Activity的时候,必须重新创建,执行onCreate()方法。

注:出自网络。感谢原作者的分享!

二 : 明式家具中圈椅和太师椅的区别?


网友吴坤[太师椅]明式家具中圈椅和太师椅的区别?给出的答复:
最近刚好在看这方面的内容。

太师椅是扶手椅的俗称或通称,在不同时代,不同地区所指不同。
宋代,太师椅指的是带有荷叶托脑的交椅。如下图


明代指当时的圈椅。第一张图中即为圈椅。
到了清代,就变成清式扶手椅的俗称了。就是你的第三张图样式。
太师椅是指体态较大,式样庄重,在一定社会环境中显示拥有者地位的椅子,是一泛指名词,并不特指哪种椅子。

至于第二张图中的圈椅 胡德生的故宫文物二十四讲中曾提到过
更有一种圈椅的靠背板高出椅圈,并稍向后卷,可以搭脑,在就坐时感觉十分舒适自如。所以这只是圈椅的一种另外形式,也属于圈椅的一种。如下图。


网友黄柏安[太师椅]明式家具中圈椅和太师椅的区别?给出的答复:

三 : js中style,currentStyle和getComputedStyle的区别

周末写了个原生的animation组件,其中使用原生的document.getElementByIdx_x_x('...').style来获取元素的相关样式值,但是奇怪的是获取不到相应的值:<style>body{margin:0auto;text-align:center;}d(www.61k.com)iv{position:relative;left:10px;}</style><div id="pic1"><imgsrc="http://pic1.xihuan.me/edr/196__/t02362982432fa1b14e.jpg"></div><script>var dom1 = document.getElementByIdx_x('pic1');console.log(dom1.style.left);</script>控制台中显示为空。
查询了相关资料发现问题如下:style只能获取元素的内联样式,内部样式和外部样式使用style是获取不到的。currentStyle可以弥补style的不足,但是只适用于IE。getComputedStyle同currentStyle作用相同,但是适用于FF、opera、safari、chrome。
写了个getStyle的自定义函数,来兼容ie和其他浏览器,使用getStyle来获取页面中元素的样式,问题解决。getElementStyle: function(el,attr){//获取el当前的attr样式,解决ie问题returnel.currentStyle?el.currentStyle[attr]:getComputedStyle(el,null)[attr];}获取后返回10px。
注意:currentStyle和getComputedStyle只能用于获取页面元素的样式,不能用来设置相关值。如果要设置相应值,应使用style。

四 : VLAN中SVL和IVL的区别

VLAN中SVL和IVL的区别

支持VLAN的二层交换机,其二层转发和MAC地址维护方式都发生了一定的变化,下面分别讨论两种不同的MAC地址维护方式的交换机。

SVL方式的二层交换机

SVL(Shared VLAN Learning)方式的二层交换机在学习MAC地址并建立MAC地址表的过程中并不附加VLAN ID,或者说它的MAC地址表是为所有VLAN共享使用的。它的二层转发基本流程如下:

(1) 根据接收到的以太网帧的源MAC信息添加或刷新MAC地址表项;

(2) 根据目的MAC信息查找MAC地址表,如果没有找到匹配项,那么在报文对应的VLAN内广播;

(3) 如果找到匹配项,但是表项对应的端口并不属于报文对应的VLAN,那么丢弃该帧;

(4) 如果找到匹配项,且表项对应的端口属于报文对应的VLAN,那么将报文转发到该端口,但是如果表项对应端口与收到以太网帧的端口相同,则丢弃该帧。

这种类型的二层交换机转发与普通二层交换机转发基本相同,只是多了转发过程中的VLAN检查。这样的交换机可能遇到下述问题:位于不同VLAN的主机(或网络设备)具有相同的MAC地址,由于SVL交换机所有VLAN共享一个MAC表,这样对应的MAC表项中端口就会不断的变化,而且两个VLAN的报文转发也会受到影响,这种情况如图1所示。

vlan VLAN中SVL和IVL的区别

图1中,VLAN 10的PC A发送给PC B的报文由于MAC地址表查找结果与VLAN不符而被丢弃了;同理,当MAC B学习到PORT 2时,VLAN 20的PC D和PC C之间的通信就会出现问题。这样,虽然不同的主机被隔离在了不同的冲突域和广播域中,但是MAC地址却可能导致不同VLAN的通信相互影响。

在实际应用中,SVL方式的二层交换机已经比较少见了。

IVL方式的二层交换机

IVL(Independent VLAN Learning)方式的交换机在学习MAC地址并建立MAC地址表的过程中同时附加VLAN ID,同一个MAC地址可以出现在不同的VLAN中,这样的方式也可以理解为每个VLAN都有自己独立的MAC地址表。它的二层转发基本流程如下:

(1) 根据接收到的以太网帧的源MAC+VLAN-ID信息添加或刷新MAC地址表项;

(2) 根据目的MAC+VLAN-ID查找MAC地址表项,如果没有找到匹配项,那么在VLAN-ID对应的VLAN内广播;

(3) 如果能够找到匹配表项,则向表项所示的对应端口转发,但是如果表项所示端口与收到以太网帧的端口相同,则丢弃该帧。

SVL方式交换机上可能遇到的转发问题,在IVL交换机中得以解决,如图2所示

vlan VLAN中SVL和IVL的区别

IVL方式的二层交换机转发流程更加清晰,VLAN之间不会互相影响,目前实际应用中的二层交换机大多采用这种方式。

扩展:ivl svl / svl和ivl / vlanif和vlan的区别

本文标题:中式和欧式的区别-Activity中finish()和onDestroy()的区别
本文地址: http://www.61k.com/1077409.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1