"横竖屏幕切换-张泽华老师android视频PPT课件"
在Android开发中,横竖屏幕切换是一个常见的需求,系统默认处理方式可能会导致Activity的销毁和重建,这对用户体验和性能可能产生影响。张泽华老师的课程中提到了如何避免这种不必要的销毁和重建过程。
默认情况下,Android系统在屏幕方向变化时(如从竖屏切换到横屏,反之亦然)会销毁当前运行的Activity,并创建一个新的Activity实例以适应新的屏幕方向。这是因为屏幕方向的改变被视为一个配置更改,而系统默认处理这种配置更改的方式就是重新创建Activity。这一过程可能导致数据丢失,以及性能上的消耗,特别是在涉及大量计算或复杂视图的情况下。
为了控制这种行为,开发者可以在AndroidManifest.xml文件中针对特定Activity设置`android:configChanges`属性。例如,如果我们不希望在横竖屏切换时销毁Activity,可以这样配置:
```xml
<activity android:name=".MainActivity" android:configChanges="keyboardHidden|orientation">
```
在这里,`keyboardHidden`和`orientation`分别代表键盘是否显示和屏幕方向的变化。当设置了这个属性后,系统在检测到这些配置变化时,不会销毁Activity,而是调用Activity的`onConfigurationChanged(Configuration newConfig)`方法。在这个方法中,开发者可以编写代码来处理屏幕方向的改变,如更新布局或者资源。
此外,课程还提到了Android系统的历史和发展。2007年,Google发布了基于Linux内核的Android操作系统,与多家厂商成立了“开放手机联盟”,推动了Android的快速发展。Android系统版本以其独特的命名方式——各种甜品的名字,如 Cupcake、Donut、Eclair 等,吸引了不少关注。
在Android应用的资源管理方面,课程提到了几个关键的资源目录:
1. `res/drawable`:用于存放图像资源,如PNG、JPG等,可以通过`getResources().getDrawable(resourceId)`来获取。
2. `res/layout`:存放XML布局文件,定义用户界面结构,类似于HTML文件。
3. `res/values`:存储不同类型的资源数据,如字符串、颜色、尺寸等,其中`strings.xml`用于定义字符串资源,可使用`getResources().getString(resourceId)`或`getResources().getText(resourceId)`获取。
通过合理的资源配置和对屏幕旋转的处理,开发者可以优化应用的性能和用户体验,确保在不同屏幕方向下都能顺畅运行。