Android-动画分析 Android的动画就可以分为3种: View动画 View Animation 帧动画 Drawable Animation 属性动画 Property Animation 1.View动画 View动画的作用对象是View。View动画的View移动只是视觉效果,并不能真正的改变位置。 View动画的种类 种类 标签 子类 效果 平移动画 <translate> 2018-06-11 Android
Android中的GC分析-Dalvik和ART虚拟机 Dalvik虚拟机 Dalvik Virtual Machine,简称Dalvik VM或者 DVM。DVM是Google专门为Android平台开发的虚拟机,是Android的重要组成部分,支持dex格式的Java应用程序运行。 dex格式是专门为DVM设计的一种压缩格式,适合内存和处理器速度有限的系统。 从架构图中可知,DVM运行在Android的运行时库层。 DVM与JVM的区别基于的 2018-05-13 Android
MVC,MVP,MVVM的理解 使用架构的目的是:模块内部的高内聚,模块之间的低耦合。 1.MVC模式MVC(Model-View-Controller,模型-视图-控制器)是20世纪80年代出现的一种设计模式。他用一种业务逻辑、数据、界面显示分离的方法组织代码。在Android中MVC的角色定义如下: Model(模型层):针对业务模型,建立的数据结构和相关的类,就可以理解为Model。与View无关,与业务相关。主要 2018-04-15 设计模式
进程保活介绍 进程保活 进程保活的方式分为两个层面:提高进程优先级,降低被杀死的概率,在进程被杀死后,进行拉活。 1. 进程的优先级 优先级最低的进程首先被杀死、进程的等级会因为其他进程的依赖而提高一个进程服务于另一个进程,则它的优先级不会比它服务的进程优先级低 按重要性分类: 前台进程:进程持有一个正在与用户交互的Activity或者和交互Activity绑定的Service,前台运行的Service( 2018-04-12 Android
设计模式--静态代理模式和动态代理模式原理及实现 代理模式(委托模式) 为其他对象提供一种代理以控制对这个对象的访问。引入代理对象来间接访问目标对象 代理模式优点: 职责清晰:真实的角色就是实现实际的业务逻辑,不需关心其他非本职责的事务 高扩展性:代理类可以在不做任何修改的情况下继续使用 智能化:动态代理演示 代理模式缺点: 在客户端和真实对象之间添加了代理,会造成请求的处理速度变慢 实现代理模式比较复杂,需要额外的工作 代理模式的扩 2018-04-09 设计模式
热修复基本原理 目前流行的热修复方案主要有以下三种: 代码修复 资源修复 动态链接库修复 本章主要讲述 第一种方案:代码修复。 代码修复 原理:对出现Bug的类进行修改或替换 类加载方案 核心思想:使用Android的类加载器,通过类加载器去加载已修复好Bug的Class并对有问题的Class进行覆盖。 加载完成后需要重启应用才可生效,因为当前在使用的类是无法卸载的即不可替换,只有重启后重新加载才可成 2018-04-07 Android
基础排序算法介绍 基础排序算法介绍知识点: 排序算法稳定性的定义:简单的介绍就是排序前相等的数据先后顺序在排序后的先后顺序位置相同 基本交换算法 12345private static void swap(int[] array, int i, int j) { int temp = array[i]; array[i] = array[j]; array[j] = temp;} 2018-03-20 算法
Fragment相关 Android中展示界面一般是通过Activity去实现的,当要实现类似商城类的首页时,就会拿出Fragment去实现对应的每个标签页,由Activity进行管理。 Fragment介绍Fragment存在必须依附于FragmentActivity使用,并且与FragmentActivity一样,拥有自己独立生命周期,同时可以处理用户的交互动作。并且可以在一个Activity中动态的添加、替 2018-01-10 Android
Flutter-Dart语言简介 Dart语言设计借鉴了Java和JavaScript,同时存在了两者的特性。 Dart变量声明1var name = 'wxy'; 表示名字是name的变量包含一个指向值为 bob 的字符串对象引用。 当前name的类型被推断为String,当然也可以通过直接指定变量类型,例如String name ='wxy'; 内置类型 主要支持数字、字符串、布尔、数组,集合等数据类型。 2021-02-10 Flutter
Ubuntu18.04 双系统安装笔记 主要用来记录在Win10 系统上安装Ubuntu18的过程 下载镜像制作系统启动U盘分区设置遇到的问题及解决方案 Ubuntu系统删除 2021-01-16 Ubuntu
Android-SurfaceFlinger解析 基于Android 6.0源码进行分析 SurfaceFlinger是Android系统中最重要的图像消费者,Activity绘制的界面图像,都会传递到SurfaceFlinger中。 主要作用:接收图像缓冲区数据,然后交给HWComposer或OpenGL合成,合成完毕后再返回。 SurfaceFlinger初始化init通过执行surfaceflinger.rc文件,然后就执行到了ma 2020-12-21 Android
Hprof文件解析 Hprof对应的就是内存快照。可以方便的凭借Hprof进行OOM分析以及异常治理。 OOM治理 内存快照保存的对象信息和依赖关系也是静态分析内存泄漏的关键。 Crash治理 保存的数据,也可用于分析异常问题。 Hprof文件格式Hprof文件格式有明确组织方式,Android在Java的基础上新增了部分Tag。 Java Hprof格式 整体分为Header和Record数组两部分。 2020-12-14 Java
Android-事件分发机制 当用户触摸屏幕或者按键操作。 首先触发硬件驱动,驱动收到事件后,将相应事件写入到输入设备节点 输入系统取出内核事件,封装成为KeyEvent或MotionEvent 交付给对应的Window消费该事件。 硬件中断 物理设备将数据发送给内核是通过设备驱动传输的,在dev/input/目录下有几个设备文件eventX。 其中event0对应的就是触摸屏,当触摸屏的驱动被挂载后,驱动程序就会 2020-11-20 Android