关于部分AndroidManifest中部分属性会影响到view等布局异常的问题。
application标签下的:
android:allowBackup="true" :Android API Level 8及以上android系统为应用程序中的数据提供了备份和回复功能。用户可以通过adb backup和adb restore来对应用程序的数据进行备份和回复,这可能会带来一定的安全风险。
android:supportsRtl=“true”:这个api是17(也就是Android4.2)以后才有的。声明你的application是否愿意支持从右到左的布局。在设置-开发人员选项,有一个强制使用从右到左的布局方向可以进行设置。
android:hardwareAccelerated="true":开启硬盘加速,会使对于图片类比较多的界面加载速度变快,但是该选项是以牺牲内存来提高响应速度的。
从Android3.0 (API level11)开始,Android的2D显示管道被被设计得更加支持硬加速了.硬加速使用GPU承担了所有在View的canvas上执行的绘制操作.
这个属性会影响到 Application、Activity、Window、View
在Android中,可以四给不同层次上开启硬件加速:
Application
<application android:hardwareAccelerated="true">
Activity
<activity android:hardwareAccelerated="true">
Window
getWindow().setFlags(WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED, WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
View
view.setLayerType(View.LAYER_TYPE_SOFTWARE, null);
在这四个层次中,应用和Activity是可以选择的,Window只能打开,View只能关闭。
在apk的AndroidManifest中,如果指定了minSDKVersion&targetSDKVersion=7,会使得应用无法使用硬件加速进行绘图。
如果你必须在你的绘制代码中做这个,应使用Canvas.isHardwareAccelerated()而不是View.isHardwareAccelerated().当一个view附加到一个硬加速的window上,它仍可以使用非硬件速的Canvas进行绘制操作.比如当为了高速缓存而把一个view画到一个bitmap中.
activity标签下的:
android:exported="true": 是否支持其他应用调用当前组件。如果想在adb中访问某个activity,可以在要访问的activity中添加android:exported="true"。注意:调试结束后最好删掉,否则会造成安全隐患。
android:launchMode="singleTask":activity的加载模式,一共四种。standard 默认模式,每次跳转都会创建新的该activity的实例;singleTop 栈顶如果已经有了该实例,则不会创建新的实例;singleTask 堆栈中如果已经拥有该activity的实例,则不会重新创建该实例,如果此类所在的任务栈上面有其他的activity,那么其他的activity会被销毁;singleInstance 如果该activity没有实例,则会创建一个新的任务栈。
android:screenOrientation=“portrait”:landscape 横屏显示;portrait 竖屏显示
android:windowSoftInputMode="stateHidden|adjustResize":设置窗体软键盘交互模式。具体参
本文详细解析了AndroidManifest中几个关键属性,包括`android:allowBackup`涉及的数据安全,`android:supportsRtl`对布局的影响,`android:hardwareAccelerated`的性能与内存权衡,以及`android:exported`和`android:launchMode`对组件调用和启动模式的设定。此外,还讨论了`android:screenOrientation`和`android:windowSoftInputMode`对屏幕方向和软键盘显示的控制。了解这些属性能帮助开发者更好地优化应用性能和用户体验。
920

被折叠的 条评论
为什么被折叠?



