Android

【转载】Gradle Android Plugin 中文手册

1 介绍 本文档适用于Gradle plugin 0.9版本,所以可能和我们1.0之前介绍的老版本有所不同。 1.1 新构建系统的目标 新构建系统的目标是: 可以很容易的重用代码和资源 可以很容易的创建应用的衍生版本,所以不管你是创建多个apk,还是不同功能的应用都很方便 可以很容易的配置、扩展以及自定义构建过程 和IDE无缝整合 1.2 Gradle是什么 Gradle是一个非常优秀的构建系统工具,允许你通过插件的方式创建自定义的构建逻辑 Gradle的以下特性让我们选择了它: 用过领域专用语言(DSL)描述和控制构建逻辑 构建文件基于Groovy,并且可以组合使用各种定义的元素,然后通过代码来控制这些DSL达到定制逻辑的目的 内建的基于Maven或者Ivy的依赖管理 使用非常灵活,

  • 浩浩乎
    浩浩乎
43 min read
Android

FrameAnimationView Android帧动画优化控件

FrameAnimationView 优化帧动画加载的内存占用、解决帧动画销毁内存不释放的问题 帧动画的两大弊端 启动时加载所有图片,内存暴增 帧动画停止后无法回收内存 默认帧动画 使用FrameAnimationView加载同样动画 加载原理 每次只加载接下来要展示的图片 使用重复的内存区块读取图片,防止内存抖动,减轻申请内存区块,加快图片加载速率 使用内存缓存加载的图片,查看动画加载图片是否在内存中 使用方法 使用FrameAnimView控件,继承RecyclingImageView FrameAnimView:animSrc="@drawable/anim_loading" 自定义RecyclingImageView控件 参见MyFrameAnimView 项目添加方法 在根 build.gradle中添加

  • 浩浩乎
    浩浩乎
2 min read
Android

Android缓存管理器

CacheManage android缓存管理器,分为内存缓存和文件缓存两种 先取内存数据,没有再从文件缓存中取 特点 封装ASimpleCache,继承其所有功能 默认使用SD卡缓存 getCacheDir()获取的缓存文件较容易被删除 大于1M的缓存文件,google建议使用getExternalCacheDir()缓存存储 支持文件加密存储 支持String、byte、JSONObject、JSONArray 双缓存:内存缓存和文件缓存 先取内存数据,没有再从文件缓存中取 使用方法 CacheUtil.init(MainActivity.this);//初始化,必须调用,不需要加密功能 CacheUtil.init(

  • 浩浩乎
    浩浩乎
2 min read
Android

android-触摸事件全解析

事件的核心传递机制 |Touch 事件相关方法|方法功能|ViewGroup|View|传递方向| |-|-|-| |dispatchTouchEvent|事件分发|yes|yes|从根布局到子布局| |onInterceptTouchEvent|事件拦截|yes|no|从根布局到子布局| |onTouchEvent|事件响应|yes|yes|从子布局到根布局| 点击、长点击、双击事件与触摸事件的关系 onTouch和onTouchEvent有什么区别 这两个方法都是在View的dispatchTouchEvent中调用的,onTouch优先于onTouchEvent执行。如果在onTouch方法中通过返回true将事件消费掉,onTouchEvent将不会再执行

  • 浩浩乎
    浩浩乎
1 min read
Android

Activity生命周期简述

生命周期 各生命周期的作用 onCreate() 方法内必须调用setContentView() 初始化 创建视图 将数据绑定到列表 处理Bundle 对象 “全局”线程 onStart() 在 Activity 即将对用户可见之前调用 调用后才被可见 onResume() 在 Activity 即将开始与用户进行交互之前调用 初始化 开启动画 onPause() 可能不会调用 onStop() 和 onDestroy(),在onPause()向存储设备写入至关重要的持久性数据 尽量不处理复杂逻辑,以免影响流畅度 对持久性数据的未保存更改 停止动画以及其他可能消耗

  • 浩浩乎
    浩浩乎
4 min read