<div id="article_content" class="article_content">
<div class="markdown_views"><p><strong>事情很简单,原本好好的一个横屏拍摄界面,当锁屏时理应执行onpause,onstop才对,结果日志一看,丫的销毁活动重建了,再解锁丫的又重建了一个。</strong></p>
<p>解决:在AndroidManifest文件对应的activity中加入android:configChanges=”screenSize|orientation”,意思是当这两个属性变化时不要重建activity,因为android默认有一个列表,当这些列表内的属性发生变化时,会默认重建activity,加了这个声明后,就不会去重启activity了,而是会调用此活动界面的onConfigurationChanged()方法。</p>
<p><strong>附表如下,当此表中的任一一个值发生变化时,activity就会被重建</strong></p>
<p>VALUE DESCRIPTION <br>
“mcc” 国际移动用户识别码所属国家代号是改变了—– sim被侦测到了,去更新mcc mcc是移动用户所属国家代号 <br>
“mnc” 国际移动用户识别码的移动网号码是改变了—— sim被侦测到了,去更新mnc MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网 <br>
“locale” 地址改变了—–用户选择了一个新的语言会显示出来 <br>
“touchscreen” 触摸屏是改变了——通常是不会发生的 <br>
“keyboard” 键盘发生了改变—-例如用户用了外部的键盘 <br>
“keyboardHidden” 键盘的可用性发生了改变 <br>
“navigation” 导航发生了变化—–通常也不会发生 <br>
“screenLayout” 屏幕的显示发生了变化——不同的显示被激活 <br>
“fontScale” 字体比例发生了变化—-选择了不同的全局字体 <br>
“uiMode” 用户的模式发生了变化 <br>
“orientation” 屏幕方向改变了 <br>
“screenSize” 屏幕大小改变了 <br>
“smallestScreenSize” 屏幕的物理大小改变了,如:连接到一个外部的屏幕上</p></div>
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
</div>
<div class="markdown_views"><p><strong>事情很简单,原本好好的一个横屏拍摄界面,当锁屏时理应执行onpause,onstop才对,结果日志一看,丫的销毁活动重建了,再解锁丫的又重建了一个。</strong></p>
<p>解决:在AndroidManifest文件对应的activity中加入android:configChanges=”screenSize|orientation”,意思是当这两个属性变化时不要重建activity,因为android默认有一个列表,当这些列表内的属性发生变化时,会默认重建activity,加了这个声明后,就不会去重启activity了,而是会调用此活动界面的onConfigurationChanged()方法。</p>
<p><strong>附表如下,当此表中的任一一个值发生变化时,activity就会被重建</strong></p>
<p>VALUE DESCRIPTION <br>
“mcc” 国际移动用户识别码所属国家代号是改变了—– sim被侦测到了,去更新mcc mcc是移动用户所属国家代号 <br>
“mnc” 国际移动用户识别码的移动网号码是改变了—— sim被侦测到了,去更新mnc MNC是移动网号码,最多由两位数字组成,用于识别移动用户所归属的移动通信网 <br>
“locale” 地址改变了—–用户选择了一个新的语言会显示出来 <br>
“touchscreen” 触摸屏是改变了——通常是不会发生的 <br>
“keyboard” 键盘发生了改变—-例如用户用了外部的键盘 <br>
“keyboardHidden” 键盘的可用性发生了改变 <br>
“navigation” 导航发生了变化—–通常也不会发生 <br>
“screenLayout” 屏幕的显示发生了变化——不同的显示被激活 <br>
“fontScale” 字体比例发生了变化—-选择了不同的全局字体 <br>
“uiMode” 用户的模式发生了变化 <br>
“orientation” 屏幕方向改变了 <br>
“screenSize” 屏幕大小改变了 <br>
“smallestScreenSize” 屏幕的物理大小改变了,如:连接到一个外部的屏幕上</p></div>
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
</div>