分类

Android

深入探讨 Android 系统的核心架构与高级开发,聚焦四大组件(Activity、Service、Broadcast Receiver、Content Provider)的原理、生命周期管理和交互机制。从基础的组件构建与通信,到 Android Framework 层(如 AMS、WMS、PMS)的源码剖析和自定义扩展,提供详尽代码示例、调试技巧和性能优化策略。涵盖 JNI、AIDL、Binde

共 356 篇文章

补间动画:Tween Animation
Android

补间动画:Tween Animation

补间动画:Tween AnimationAndroid动画有两种:视图动画和属性动画。视图动画从API 1开始有的,属性动画从API 11才被引入。视图动画又包括补间动画、帧动画,关于帧动画参考《逐帧动画》,现在来学学补间动画。1、Tween Animation补间动画可以对View对象的内容执行一系列简单的转换(位置,大小,旋转和透明度)。android.view.animation包中定义了补

1.9k
逐帧动画:Frame Animation
Android

逐帧动画:Frame Animation

逐帧动画:Frame Animation逐帧动画,简单好用的动效,一帧一帧的播放图片。比如一般手机刚开机时候显示的Logo是逐帧动画,注意逐帧动画需要加载大量的图片,因而很耗内存,使用的时候一定要注意别导致内存泄漏和OOM,不要加载过多和过大的图片。有两种方式实现逐帧动画:代码方式和XML方式。1、代码实现逐帧动画用到的AnimationDrawable类,通过该类可以用代码实现逐帧动画的效果。1

1.9k
动画插值器Interpolator
Android

动画插值器Interpolator

动画插值器InterpolatorAnimation中一个重要的概念是Interpolator插值器,动画执行的速率加上效果(加速或者减速等等),让动画执行起来不那么“死板”,动画看起来能够更自然“活泼”。想要实现炫酷好看的动画离不开插值器。后面讲到属性动画还会学习估值器TypeEvaluator,详见《属性动画:TypeEvaluator》。1、Interpolator了解Interpolato

2.0k
视图动画:Animation
Android

视图动画:Animation

视图动画:Animation动画相关的代码在frameworks层../frameworks/base/core/java/android/view/animation中。Android中的动画有如下分类:在深入了解动画之前,还是先来看看所有动效的父类Animation类。帧动画详见《逐帧动画:Frame Animation》,补间动画详见《补间动画:Tween Animation》。1、Anim

1.8k
区域Region详解
Android

区域Region详解

区域Region详解Region类图形游戏开发中比较常用,判断点是否在指定区域内碰撞。还能在自定义View中指定区域为可点击就是使用Region完成的。首先需要明白Region表示的是Canvas图层上的某一块封闭的区域。1、构造RegionRegion有几个构造函数,或者通过方法为空的Region对象设置区域。1.1、构造①Region():创建一个空白区域,结合后面的方法设置该区域②Regio

2.6k
路径Path的使用
Android

路径Path的使用

路径Path的使用路径在View开发中是比较重要且基础的一个工具,借助Path可以Path路径">绘制各种线段(drawPath)、可以在指定的路径上绘制文字(drawTextOnPath)、从画布上Canvas裁剪">裁剪指定的路径区域(clipPath、clipOutPath)... ... 1、PathPath类封装由直线段,二次曲线和三次曲线组成的复合(多个轮廓)几何路径。可以使用canv

1.6k
Android

画布Canvas进阶操作

画布Canvas进阶操作之前介绍了Canvas画布的基础绘制操作,现在来看看涉及到Canvas自身的还有一些高级操作:旋转、平移、放缩,保存、撤销等操作。熟悉Qt开发的就会觉得非常似曾相识,没错Qt界面开发也有类似API。1、Canvas变换对画布进行旋转、平移、放缩等操作,会对绘制产生影响。1.1、缩放①scale(float sx, float sy):将画布的x、y轴都压缩为原来的sx、sy

1.7k
Android

画布Canvas绘制基础

画布Canvas绘制基础之前提到自定义View中的“神笔”Paint,现在来看看“画布”。Canvas就是自定义View中的“画布”,可以在Canvas上面绘制文本、Bitmap、路径、图形等,绘制设计炫酷的界面。1、Canvas关于Canvas更多内容详见Android Developers>Docs>Reference>Canvas。1.1、Canvas类Canvas在android.grap

1.9k
Android

Color详解

Color详解Android界面开发经常需要设置各种各样的颜色,给布局设置纯色的背景Drawable、设置TextView的文字颜色、自定义View中需要用到各种各样的颜色来丰富界面视觉效果。开发需要对设计中用到的各种Color有所了解,有助于在开发中快速“取色”完成UI开发。1、ColorAndroid界面开发离不开颜色,Android中的颜色主要定义在../res/values/colors.

1.9k
Android

View中的神笔:Paint

View中的神笔:Paint接下来就进入Android另一个开发方向,View界面,主要涉及到自定义View,是应用于用户交互的前沿。和自定义View相关的框架有两个:一大类是View(../frameworks/base/core/java/android/view/),另一大类是Graphics(../frameworks/base/graphics/)。自定义View最主要的就是使用系统提供

1.7k
Android

自定义View属性

自定义View属性在布局中使用自定义的View时系统会自动调用自定义View的第二个构造函数View(Context context, AttributeSet attrs),生成自定义View实例:1、自定义View属性其中自定义的属性myColor、myGravity、mySize都是res/values/attrs.xml文件中定义的。1.1、<declare-styleable/>自定义属

1.7k
绘制性能分析:Traceview
Android

绘制性能分析:Traceview

绘制性能分析:Traceview接着前两种绘制性能分析(绘制性能分析:GPU Rendering Profile和绘制性能分析:Systrace),继续介绍第三个工具:Traceview。1、Traceview介绍Traceview是Android SDK早期集成开发环境中tools目录中自带的工具,帮助开发者分析应用性能,执行的耗时分析。注意:Traceview 已弃用。推荐 Android S

1.6k
绘制性能分析:Systrace
Android

绘制性能分析:Systrace

绘制性能分析:Systrace继续《绘制性能分析:GPU Rendering Profile》,接着了解绘制性能分析相关的方法,这次使用Android早期提供的工具Systrace,是位于../sdk/tools/目录中的monitor.bat工具1、Systrace简介Systrace是Android平台提供的一款工具,自Android4.1引入,用于记录短期内的设备活动,分析性能。该工具会生成

3.4k
绘制性能分析:GPU Rendering Profile
Android

绘制性能分析:GPU Rendering Profile

绘制性能分析:GPU Rendering Profile随着手机硬件的发展,内存从当初512Mb到现在的12Gb甚至更多,CPU也换代到了晓龙865,手机运行速度越来越快,能够运行更多应用,功能更加丰富,硬件和软件之间在发展道路上相互促进。虽然硬件发展,但是软件也还是需要进行优化,不能无限制的使用手机硬件资源。因为手机作为便携的移动设备,本身的性能就无法和PC相媲美。APP的性能优化是应用开发过程

4.5k
Android

初探Hook技术

初探 Hook 技术Hook(钩子)是 Android 进阶绕不开的技术。插件化框架能启动未在清单注册的 Activity、热修复能动态替换线上 Bug、双开应用能在同一台手机跑两份微信、无埋点 SDK 能自动采集所有点击事件——这些"魔法"背后都是 Hook。它听起来神秘,本质却只是"劫持方法调用、插入自定义逻辑"。本文初探 Hook,讲清它是什么、Java 层两大核心手段(反射 + 动态代理)

198