Android
jiantaocd
点滴成长 厚积薄发
展开
-
深入理解Glide
Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。目前,Glide的最新版本为4.2.0,本文是基于4.1.1这个版本来分析的,同属4.x,变化不大。基本用法多数情况下,使用Glide加载图片非常简单,一行代码足矣:Glide.with(fragment)原创 2017-10-30 23:01:36 · 3639 阅读 · 0 评论 -
FrameAnimDrawable
本文介绍一个解决安卓帧动画OOM的组件。— FrameAnimDrawable。和AnimationDrawable的关系?AnimationDrawable 系统实现帧动画的Drawable,使用简单,但内存消耗大,动画帧一多就容易出现卡顿甚至OOM。FrameAnimDrawable 实现动态加载,一次只加载当前动画帧,用完即释放,内存消耗少,降低卡顿和OOM发生的概率。FrameAni原创 2017-08-06 22:13:27 · 448 阅读 · 0 评论 -
ISwipeRefreshLayout
ISwipeRefreshLayout是基于SwipeRefreshLayout源码基础上修改,便于使用自定义loading样式的下拉刷新组件。为什么写这个组件?原生的SwipeRefreshLayout好归好,但它不能自定义动画效果,只能简单改下color、alpha等,往往实际开发中都是自家的loading效果。所以就有了ISwipeRefreshLayout。这里贴一个现在项目使用的load原创 2017-08-09 01:14:42 · 439 阅读 · 0 评论 -
android socket 通信实战
android socket client 实现socket 简介创建连接接收消息发送消息断开连接进度灰色保活IPC自定义权限广播重试机制进程异常恢复原创 2017-04-28 01:27:55 · 815 阅读 · 0 评论 -
Android mvp模式
本文主要说一下MVP模式在Android中的实战应用。文章后面会附上demo代码,以供学习交流。写在前面的话安卓中常见的有MVC、MVP、MVVM三种模式;我的理解,MVC已经过时了,MVP正在大范围使用,MVVM还没普及。建议如果对后两个不熟悉的同学,先从MVP入手,它相对简单易理解。优缺点 模块职责划分明显,层次清晰。方便单元测试。这是使用MVP模式很重要的原因之一。原创 2016-12-27 21:43:23 · 891 阅读 · 0 评论 -
基于Jenkins+git+gradle+pgyer的android持续集成
主要步骤如下: 1. jenkins 安装配置 2.打包环境配置 3.系统配置及插件管理 4.新建项目、build打包 5.上传蒲公英平台 6.发送邮件通知jenkins 安装配置 Jenkins简介Jenkins 是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时 Jenkins 能实施监控集成中存在的错误,提供详细原创 2016-03-07 16:30:19 · 2055 阅读 · 4 评论 -
PageAdapter不能刷新问题
在一个 Android 应用中,我使用 FragmentPagerAdapter 来处理多 Fragment 页面的横向滑动。不过我碰到了一个问题,即当 Fragment 对应的数据集发生改变时,我希望能够通过调用 mAdapter.notifyDataSetChanged() 来触发 Fragment 页面使用新的数据调整或重新生成其内容,可是当我调用 notifyDataSetChange转载 2015-11-07 01:27:15 · 925 阅读 · 0 评论 -
Andorid消息处理机制
首先需要介绍几个非常重要的角色:Looper、Handler、HandlerThread、MessageQueue、MessageLooper帮助一个线程维护一个消息队列,每一个线程都可以拥有一个Looper对象。Handler负责把消息放入线程的消息队列中以及分发消息。HandlerThread本身是一个Thread,并且内部封装了一个Looper对象,所以不用我们去关心Looper转载 2015-07-22 15:44:06 · 657 阅读 · 0 评论 -
使用系统下载管理类DownloadManager
import java.io.File;import java.util.HashMap;import android.annotation.TargetApi;import android.app.DownloadManager;import android.app.DownloadManager.Query;import android.app.DownloadManager.R原创 2015-07-02 15:19:41 · 991 阅读 · 0 评论 -
android 多线程下载 显示进度 速度
功能要求:从网络下载一APK应用,显示下载速度、进度,并安装应用。运行效果图:工程结构图:很简单,就一个activity,一个更新UI的线程,一个下载线程加个文件处理类主要代码: /** *多线程下载,UI更新类 *@author young * */public class MultiThreadDownload extends Thread{原创 2012-12-25 16:22:07 · 12042 阅读 · 6 评论 -
获取GPU信息 --createWindowSurface EGL_BAD_NATIVE_WINDOW -- failed: EGL_BAD_MATCH
之前网上有很多关于获取GPU信息的帖子,大部分手机都可以获取到,但部分奇葩就不行了。package com.example.gpuinfo;import javax.microedition.khronos.egl.EGLConfig;import javax.microedition.khronos.opengles.GL10;import android.app.Activit原创 2013-10-29 14:27:53 · 7535 阅读 · 0 评论 -
Android Jetpack 架构组件最佳实践
Android Jetpack介绍Android Jetpack 是一套组件、工具和指导,可以帮助您快速构建出色的 Android 应用。Google在17年的I/O大会上推出了架构组件(Architecture Component)。随后在18年I/O大会上发布了 Android Jetpack,Jetpack 是Android开发组件工具集,旨在帮助我们轻松构建更稳定、更健壮、以及...原创 2019-05-08 00:00:38 · 1300 阅读 · 0 评论