Android高级UI面试题汇总(含详细解析 十六)

142 阅读4分钟

Android并发编程高级面试题汇总最全最细面试题讲解持续更新中👊👊 👀你想要的面试题这里都有👀 👇👇👇

inflater创建view效率为什么比new View慢?

这道题想考察什么?

这个题目主要是考察大家对Inflate源码的理解,和对xml解析的理解。

考生应该如何回答

    在出现Jetpack Compose之前,android的UI界面的设计大多数都是在xml里面定义的。XML只是一种界面布局的文件,这种文件是不能直接在app中显示的,它的显示是需要 inflate 解析后转变成为 java中的view。那么Inflate是如何去解析xml呢?大家可以到LayoutInflater.java 文件中看到inflate 函数,这个函数就是通过xml里面的各个标签,使用序列化的方法拿到各个标签,然后将标签存储在Java类里面。有了java标签,那么inflate函数就可以大量的使用反射,通过反射找到这些标签所对于的类,从而能够通过反射获取到这些类的对象。也就是说,Inflate 是通过反射xml标签中的类开创建view的,这个反射过程相对比较耗时,因此它比直接在java中创建View的效率要高。
​
    更多的关于view 的inflater的细节可以参考9.20  题。

动画的分类以及区别

这道题想考察什么?

  1. 是否了解安卓的动画?

考察的知识点

  1. 动画的分类
  2. 动画的区别

考生应该如何回答

动画的种类

首先回答下安卓的动画种类,一共分为三种

  • 帧动画:由数张图片连续播放产生的动画效果。
  • 补间动画:对View的平移,旋转,缩放,透明产生效果;
  • 属性动画:动态的改变属性产生动画效果;

动画的区别

帧动画

    帧动画其实就是简单的收集N张图片,然后依次显示这些图片。由于人眼"视觉暂留"的原因,会让我们造成动画的"错觉"。视觉暂留是指我们看到的画面,会在大脑中停留短暂的时间而不立即消失。
​
    帧动画的特点:帧动画不会改变控件的属性,只是通过播放图片来达到动画效果,制作简单但效果单一,且占用空间较大。

补间动画

    补间动画会先声明好两个关键帧,开始帧和结束帧。开始帧是用来描述动画开始时的状态,结束帧是用来描述动画结束时的状态,而动画中间如何由开始帧演变到结束帧是由系统计算而来。
​
    补间动画的特点:安卓中补间动画只改变了View的显示效果,而未改变View的真正属性值。比如说,我们使用补间动画放大View的宽度,在动画运行中View宽度变大了,但仅仅只是显示效果上宽度变大了,并没有真正改变View宽度的值。

属性动画

    属性动画与其他动画最大的不同是它会不断的更新View的属性值,从而产生动画效果。它不仅仅显示效果发生了改变,View的属性值也发生了变化。
​
    属性动画和补间动画一样会声明关键帧,关键帧与关键帧之间的属性变化由系统计算而来。它们之间有个小的不同点是,属性动画可以声明一个、两个或者多个关键帧,而补间动画固定是开始帧和结束帧。

更多Android面试题 可以详细Vx关注公众号:Android老皮 解锁          《2023最新Android中高级面试题汇总+解析》

目录

img

第一章 Java方面

  • Java基础部分
  • Java集合
  • Java多线程
  • Java虚拟机

img

第二章 Android方面

  • Android四大组件相关
  • Android异步任务和消息机制
  • Android UI绘制相关
  • Android性能调优相关
  • Android中的IPC
  • Android系统SDK相关
  • 第三方框架分析
  • 综合技术
  • 数据结构方面
  • 设计模式
  • 计算机网络方面
  • Kotlin方面

img

第三章 音视频开发高频面试题

  • 为什么巨大的原始视频可以编码成很小的视频呢?这其中的技术是什么呢?
  • 怎么做到直播秒开优化?
  • 直方图在图像处理里面最重要的作用是什么?
  • 数字图像滤波有哪些方法?
  • 图像可以提取的特征有哪些?
  • 衡量图像重建好坏的标准有哪些?怎样计算?

img

第四章 Flutter高频面试题

  • Dart部分
  • Flutter部分

img

第五章 算法高频面试题

  • 如何高效寻找素数
  • 如何运用二分查找算法
  • 如何高效解决雨水问题
  • 如何去除有序数组的重复元素
  • 如何高效进行模幂运算
  • 如何寻找最长回文子串

img

第六章 Andrio Framework方面

  • 系统启动流程面试题解析
  • Binder面试题解析
  • Handler面试题解析
  • AMS面试题解析