性能优化之布局
- 性能优化之布局
重用
减少视图层级
需要时加载,懒加载布局
使用工具:Hierarchy View - Android 性能优化方法
使用Dalvik提供的 dalvik.system.VMRuntime类来设置最小堆内存为例: - bitmap 设置图片尺寸
避免 内存溢出 OutOfMemoryError的优化方法
options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一 - Android 还有一些性能优化的方法:
首先内存方面,可以参考 Android堆内存也可自己定义大小 和 优化Dalvik虚拟机的堆内存分配
基础类型上,因为Java没有实际的指针,在敏感运算方面还是要借助NDK来完成。这点比较有意思的是Google 推出NDK可能是帮助游戏开发人员,比如OpenGL ES的支持有明显的改观,本地代码操作图形界面是很必要的。
图形对象优化,这里要说的是Android上的Bitmap对象销毁,可以借助recycle()方法显示让GC回收一个Bitmap对象,通常对一个不用的Bitmap可以使用下面的方式。 - 从代码角度进行优化
静态变量引起内存泄露
使用Application的Context
及时关闭资源
使用Bitmap及时调用recycle()
对Adapter进行优化
代码“微优化” - 使用软引用和弱引用
- Android 中的Activity、Window、View之间的关系
Activity在onCreate时调用attach方法,在attach方法中会创建window对象。window对象创建时并没有创建 DocerView 对象。用户在Activity中调用setContentView,然后调用window的setContentView,这时会检查DecorView是否存在,如果不存在则创建DecorView对象,然后把用户自己的 View 添加到 DecorView 中。 - Activity的几种LaunchMode及使用场景
Android关于Task的一些实践 - Android 设计模式之MVC模式
MVC模式下,系统框架的类库被划分为3种:模型(Model)、视图(View)、控制器(Controller)。模型对象负责建立数据结构和相应的行为操作处理。视图对象负责在屏幕上渲染出相应的图形信息展示给用户看。控制器对象负责截获用户的按键和屏幕触摸等事件,协调Model对象和View对象。
用户与视图交互,视图接收并反馈用户的动作;视图把用户的请求传给相应的控制器,由控制器决定调用哪个模型,然后由模型调用相应的业务逻辑对用户请求进行加工处理,如果需要返回数据,模型会把相应的数据返回给控制器,由控制器调用相应的视图,最终由视图格式化和渲染返回的数据,对于返回的数据完全可以增加用户体验效果展现给用户。 - 教你认清MVC,MVP和MVVM
如何设计MVP中的Presentation层
google 官方mvp实例的实践之mvp-databinding-Rxjava(一) - Netty 4.0在Android 上的使用,长连接断线自动重连