当前位置:   article > 正文

Android 开发艺术探索笔记(16),1-3年的Android开发工程师看过来_android 属性动画开发艺术探索

android 属性动画开发艺术探索

帧动画中出现了大量的尺寸过大的图片

  • 内存泄漏

有些动画会无限循环,所以要在Activity退出时及时停止。

  • 兼容性问题

  • View动画问题

View动画是对动画做影像动画,并没真正改变View的状态

  • 不要使用px

  • 动画元素的交互

属性动画的单击事件触发在移动后的位置,View则在之前的位置。

  • 硬件加速

使用动画的过程中尽量使用硬件加速,能保证动画的平滑和流畅性。

理解Window和WindowManager


Window是一个窗口,Window的具体实现位于WindowManagerService中,WindowManager可以管理Window,并以IPC的形式与WindowManagerService交互。

首先使用WindowManager来添加一个Window,代码如下:

这里写图片描述

这里写图片描述

上述的代码将一个Button添加屏幕的(100,300)坐标上。

WindowManager.LayoutParams中的flags和type这两个参数比较重要。

下面是几个重要的flags:

这里写图片描述

Type参数表示的是Window的类型,有三种,分别是应用Window,子Window和系统Window。

应用类Window对应着一个Activity,子Window不能单独存在,它需要附属在父Window中,比如常见的Dialog就是子Window。系统Window就是需要声明权限才能创建的Window,比如Toast。

它们都有分层,大的级别在上面,Window的范围是1-99,子Window是1000-1999,系统则是2000-2999,可以通过LayoutParams的的type设置。

WindowManager的功能比较简单,就是添加View、更新View、删除View。这三个方法都定义在接口ViewManager中。而WindowManager继承了ViewManager。

Window的内部机制

每一个Window都对应着一个View和一个ViewRootImpl,Window和View通过ViewRootImpl来建立联系,因此View实际上是不存在的,它是以View的形式存在。实际中无法直接应用Window,要通过WindowManager。

  • Window的添加

通过WindowManager的addView来实现。WindowManager是一个接口,它真正实现的是WindowManagerImpl类。在这个类中Window的三大操作如下:

这里写图片描述

可以看到所有的操作都是交给了WindowManagerGlobal来处理。这是典型的桥接模式。WindowManagerGloabl的addView的源码为:

这里写图片描述

这里写图片描述

这里写图片描述

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

结尾

  • 腾讯T4级别Android架构技术脑图;查漏补缺,体系化深入学习提升

img

  • 一线互联网Android面试题含详解(初级到高级专题)

这些题目是今年群友去腾讯、百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。并且大多数都整理了答案,熟悉这些知识点会大大增加通过前两轮技术面试的几率

img

Android架构师学习门槛,有没有免费学习资料?

有Android开发3-5年基础,希望突破瓶颈,成为架构师的小伙伴,可以关注我,在我的个人介绍栏目免费获取

或者点击:【点击我的GitHub免费领取】

《Android学习PDF+架构视频+面试文档+源码笔记》来获取学习资料提升自己去挑战一下BAT面试难关吧

为什么免费分享?

.csdn.net/topics/618156601)**

《Android学习PDF+架构视频+面试文档+源码笔记》来获取学习资料提升自己去挑战一下BAT面试难关吧

为什么免费分享?

如果设置门槛,很多开发者朋友会因此错过这套高级架构资料,错过提升成为架构师的可能。这就失去了我们的初衷;让更多人都能通过高效高质量的学习,提升自己的技术和格局,升职加薪。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/685794
推荐阅读
相关标签
  

闽ICP备14008679号