
Android群英传
文章平均质量分 83
蓝枫amy
Android开发工程师、HarmonyOS开发工程师
展开
-
Android 控件架构与自定义控件(四)
自定义ViewGroup存在的目的就是为了对其子View进行管理,为其子View添加显示、响应的规则。因此,自定义ViewGroup通常需要重写onMeasure() 方法来对子View进行测量,重onLayout() 方法来确定子View的位置,重写onTouchEvent() 方法增加响应事件。实现一个Android原生控件ScrollView 的自定义ViewGroup,自定义ViewGrou原创 2017-06-17 08:37:53 · 454 阅读 · 0 评论 -
Android 控件架构与自定义控件(二)
六 .自定义View在自定义View时,我们通常会去重写onDraw() 方法来绘制View的显示内容。如果该View还需要使用wrap_content属性,那么还必须重写onMeasure() 方法。另外,通过自定义attrs属性,还可以设置新的属性配置值。在View中通常有以下一些比较重要的回调方法 onFinishInflate(): 从XML 加载组件后回调 onSizeChanged()原创 2017-06-14 11:46:49 · 651 阅读 · 0 评论 -
Android 控件架构与自定义控件(一)
一. Android 控件架构Android中控件可以分为两类: ViewGroup控件和View控件,ViewGroup控件作为父控件可以包含多个View控件,并管理其包含的View控件。通过ViewGroup,整个界面上的控件 形成了一个树形结构,上层控件负责下层子控件的测量和绘制,并传递交互事件。 findViewById( ) 方法就是在控件树中以树的深度优先遍历来查找对应的元素。在每原创 2017-06-14 11:43:17 · 767 阅读 · 0 评论 -
Android 控件架构与自定义控件(三)
Android 控件架构与自定义控件(一) Android 控件架构与自定义控件(二) Android 控件架构与自定义控件(三)3 重写View来实现全新的控件(1) 弧线展示图CircleProgressView.javapackage kotlindemo.zhoujian.com.customeview;import android.content.Context; import and原创 2017-06-14 11:49:01 · 567 阅读 · 0 评论 -
Android 性能优化(一)
1.布局优化(1) Android UI 渲染机制在Android中,系统通过VSYNC 信号触发对 UI 的渲染,其时间间隔为16ms 。这个16ms 就是1000ms 中显示60帧画面的单位时间,即1000/60 ,如果系统每次的渲染时间都保持在16 ms 之内,那么我们看见的UI界面将是非常流畅的,但这也需要将所有程序的逻辑都保持在16ms 内。(2) 避免过度绘制过渡绘制会浪费很多的CPU资原创 2017-06-19 15:42:16 · 364 阅读 · 0 评论 -
Android 性能优化(二)
2.内存优化(1) 什么是内存由于Android应用的沙箱机制,每个应用所分配的内存大小是有限度的,内存太低会触发-LMK(Low Memory Killer ) 机制。通常情况下我们所说的内存是指手机的RAM, 它包括以下几个部分 寄存器 速度最快的存储场所,寄存器位于处理器内部,在程序中无法控制 栈 存放基本类型的数据和对象的引用,但对象本身不存放在栈中,而是存放在堆中 堆 堆内存用来存放原创 2017-06-21 17:23:00 · 254 阅读 · 0 评论