Android布局优化
来源:互联网 发布:淘宝中老年女装棉袄 编辑:程序博客网 时间:2024/06/11 15:26
针对布局优化的几点笔记:
1.一个FrameLayout内的LinearLayout,两者都被设置为MATCH_PARENT,这样做没什么实际的意义,只是增加了填充它们的时间。特别是在对一个已有的布局做了重大调整或者再已有布局上添加子布局的时候,需要查找冗余布局。
2.当设置为MATCH_PARENT的FrameLayou被添加到一个父容器时,它就会成为冗余。更好的选择是使用merge标签:
<merge xmlns:android="http://schemas.android.com/apk/res/android"><ImageView....
当包含有merge标签的布局被添加到另一个布局时,该布局的merge节点会被删除,而该布局的子View会被直接添加到新的父布局中。merge标签结合include标签一起使用时尤其有用。
//查找stubView stub = findViewById(R.id.download_progress_stub);//将其设置为可见,以填充子布局stub.setVisibility(View.VISIBLE);//查找已填充的stub布局的根节点View downloadProgressPanel = findViewById(R.id.download_progress_panel);
ViewStub只能Inflate一次,之后ViewStub对象会被置为空。按句话说,某个被ViewStub指定的布局被Inflate后,就不会够再通过ViewStub来控制它了.
4.使用Lint工具来分析布局,Lint是一个强大的工具用来检测应用程序中的问题,包括布局的性能问题。还可以用来检测缺少的翻译、未使用的资源、不一致的数组大小、可访问性和国际化问题、丢失或重复的图像资源、可用性问题和manifest错误。
想要应用众多默认过度动画中的一个,可以对任何Fragment Transaction使用setTransition方法,传入一个FragmentTransaction.TRANSIT_FRAGMENT_*常量。也可以通过使用setCustomAnimations方法对Fragment Transaction应用自定义动画。这个方法接收两个动画XML资源:一个是通过该事务添加到布局的Fragment,而另一个是被删除的Fragment:
fragmentTransaction.setCustomAnimations(R.animator.slide_in_left,R.animator.slide_out_right);当在布局内替换Fragment时,这种方式对于添加无缝动态过度尤其有用。
另:随着Android3.0中Animator类的引入,Android动画库有了显著的改进。为运行在API level 11及以上版本的设备构建的应用程序应该使用Animator资源,而那些为了支持更早版本而使用支持库的应用程序,应该使用老的View Animation资源。
也可以创建没有UI的Fragment来提供后台行为,该行为会一直持续到Activity重新启动。这特别适合于定期和UI交互的后台任务或者当因配置改变而导致的Activity重新启动时,保存状态变得特别重要的场合。
0 0
- Android优化--布局优化
- *【布局优化】android布局原则
- Android性能优化---布局优化
- Android性能优化---布局优化
- Android开发优化-布局优化
- android性能优化--布局优化
- Android开发优化-布局优化
- Android性能优化-布局优化
- Android性能优化-布局优化
- android 优化之布局优化
- Android优化之布局优化
- Android性能优化-布局优化
- 【Android】布局优化
- Android布局优化
- Android 布局优化
- Android布局优化
- Android布局优化
- Android布局优化
- Android实现多个跑马灯效果,多个文本框TextView的跑马灯
- java参数传递(超经典)
- django cpu监控之六-----使用COM组件获取CPU数据
- linux驱动之分离分层的概念
- 搭pl/proxy集群
- Android布局优化
- vs2012 boost库安装配置
- 大陆下载android 源码
- C++ 结构体(四)
- CSS盒子模型
- MATLAB矩阵操作大全
- CentOS6.4配置Hadoop-2.6.0集群配置安装指南(经过实战演练)【张振华.Jack】
- oc疑问
- 第二章思维导图