自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

转载 Android:色彩和多主题

Android : Colors and Multiple ThemesRecently, we came across a bunch of Android projects which required a change of theme or addition of a new theme. Some even want to provide multi theme support. But...

2018-06-18 20:40:04 605

转载 EasyAndroid基础集成组件库之:EasyToast 简化你的Toast操作

什么是EasyToastEasyToast是开源基础组件集成库EasyAndroid中的基础组件之一。用于进行简化Toast操作。EasyAndroid作为一款集成组件库,此库中所集成的组件,均包含以下特点,你可以放心使用~~精简: 作为一款集成库,我不希望有那种大组件,尽量控制好集成库的大小。不要有冗余代码内聚: 尽量减少甚至避免单一组件对别的模块进行依赖。做到组件间独立。得益于良好的高内聚性,...

2018-06-18 20:39:21 479

转载 Android 基于ffmpeg开发简易播放器 - NDK交叉编译

NDK交叉编译ffmpeg第一步:下载NDK第二步:下载FFmpeg的源码,git clone https://github.com/FFmpeg/FFmpeg.git第三步:编写shell脚本,编译FFmpeg成.so库#!/bin/bashecho "进入编译ffmpeg脚本"NDK=/Users/zpw/Library/android-ndk-r13b#5.0PLATFORM=$ND...

2018-06-18 20:38:35 746

转载 解读Android进程优先级ADJ算法

一、概述1.1 进程Android框架对进程创建与管理进行了封装,对于APP开发者只需知道Android四大组件的使用。当Activity, Service, ContentProvider, BroadcastReceiver任一组件启动时,当其所承载的进程存在则直接使用,不存在则由框架代码自动调用startProcessLocked创建进程。一个APP可以拥有多个进程,多个APP也可以运行在同...

2018-06-18 20:37:06 2467

转载 LayoutTransiton实现简单的录制按钮

要求实现一个简单的视频录制功能的组件,我简单设计了一个,主要功能就是开始,暂停,停止和显示录制时间长度。首先看一下效果图:可以看到是一个非常简单的动画效果,为了方便使用,我把他做成了aar并发布到了jCenter,集成方式:compile 'com.rangaofei:sakarecordview:0.0.2'组件里用到的库也非常简单,包括databinding,属性动画和layouttrans...

2018-06-18 20:35:51 252

转载 Android App性能优化

说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才感觉运行速度稍微提高了点,就算手机在各种性能跑分软件面前分数遥遥领先,还是感觉无论有多大的内存空间都远远不够用。相信每个使用 Android 系统的用户都有过以上类似经历,确实,Android 系统在...

2018-06-18 20:34:31 228

转载 spi在android中的使用

概述什么是spiSPI (Service Provider Interface)属于动态加载接口实现类的的一项技术,是JDK内置的一种服务提供发现机制,使用ServiceLoader去加载接口对应的实现,这样我们就不用关注实现类,ServiceLoader会告诉我们。官方文档描述为:为某个接口寻找服务的机制,类似IOC思想,将装配的控制权交给ServiceLoader。解决问题只提供服务接口,具体...

2018-06-18 20:33:22 1383

转载 Camera开发系列之一 显示摄像头实时画面

最近一直在做安卓摄像头方面的功能,不得不说这里面的坑简直多的一批,要注意的地方简直不要太多,可以说是从入门到入土系列。总之,这玩意儿差点要我的老命。本系列文章使用的都是使用android.hardware.Camera包下面的api,并没有使用Camer2。主要是考虑到兼容性问题,另外一个很重要的原因是我还没看camera2的文档,啥都不会=_=。本片文章主要分为以下几个小点讲解:如何调用手机摄像...

2018-06-13 08:30:49 6858 4

转载 Android使用canvas绘制动效雷达图和柱状图

1.雷达图思路:定义半径来确定各个点的坐标,先绘制虚线背景再绘制两个覆盖区域。通过改变半径值刷新canvas形成动画,也可以加入其它插值。import android.animation.ValueAnimator;import android.content.Context;import android.graphics.Canvas;import android.graphics.Col...

2018-06-13 08:29:07 975

转载 Android自定义View点赞效果

效果图如下我们可以通过attrs自定义的属性,拿到图片的Drawable,通过调用drawable.draw(canvas)方法直接画出来。上方显示的动画部分第二部分最开始我想到的是直接在上方画一个TextView,然后设置属性动画 达到我们的效果,后来思考这种效果最好不增加自身控件的大小,假如在上方直接添加TextView那么必然怎么整个控件的高度,很多这种点赞的效果是放在列表中,高度有限。所以...

2018-06-13 08:27:05 1126 1

转载 Android插件化原理解析--插件化加载机制

上文 Activity生命周期管理 中我们地完成了『启动没有在AndroidManifest.xml中显式声明的Activity』的任务;通过Hook AMS和拦截ActivityThread中H类对于组件调度我们成功地绕过了AndroidMAnifest.xml的限制。但是我们启动的『没有在AndroidManifet.xml中显式声明』的Activity和宿主程序存在于同一个Apk中;通常情况...

2018-06-08 09:12:22 359

原创 如何回答Android面试中javal垃圾回收机制

 回收分为两大块,一为搜索,二为回收。一,搜索GC(Garbage Collector)在回收对象前首先必须发现那些无用的对象,如何去发现定位这些无用的对象?1,引用计数算法(基本弃用)引用计数器算法是给每个对象设置一个计数器,当有地方引用这个对象的时候,计数器+1,当引用失效的时候,计数器-1,当计数器为 0 的时候,JVM 就认为对象不再被使用,是“垃圾”了。引用计数器实现简单,效率高;但是不...

2018-06-08 08:56:06 950

转载 Android Jetpack - 使用 Navigation 管理页面跳转

在今年的 IO 大会上,发布了一套叫 Android Jetpack 的程序库。Android Jetpack 里的组件大部分我们都接触过了,其中也有一些全新的组件,其中一个就是 Navigation。简介Navigation 是用来管理 APP 里页面跳转的。起初,我以为它是用来代替 startActivity 的,但其实并不是,大家往下看就知道它的作用了。另外,iOS 的同学可能会有似曾相识的...

2018-06-08 08:51:56 2234

转载 Android-Handler机制详解 Handler

1、handler是什么?答:handler是更新UI界面的机制,也是消息处理的机制,我们可以发送消息,也可以处理消息 2、为什么要有Handler?答:Android在设计的时候,封装了一套消息创建、传递、处理机制,如果不遵循这样的机制就没办法更新UI信息,就会抛出异常。 3、handler怎么用?答:1、post(Runnable);       2、postDelayed(Runnable ...

2018-06-08 08:25:31 93

转载 Android播放器基础封装库playerBase

简述视频播放是我们开发中比较常见的场景。这两年关于视频方面的热度不断提升,可以说前两年是直播年,今年是小视频年,各种短视频应用铺天盖地。对于视频的业务场景也越来越丰富,功能也越来越多。对于我们开发来说播放相关组件的代码变得也越来越复杂,管理维护成本也越来越高,面对不断迭代的业务,我们需要一种有效的方案来应对这种频繁的业务变化。这几年一直在做视频相关的业务,手机端和TV端均做过适配开发。MediaP...

2018-06-06 19:13:20 2346

转载 CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里

生成的GIF比较大传不了,GITHUB上有,不上图了这两天在GitHub上传了一个自定义ViewPager:CoolViewPager,具有以下功能特征:支持水平及垂直方向循环滚动支持自动滚动支持自动滚动方向、滚动时间、间隔时间的设置支持调用notifyDataSetChanged实时刷新界面支持边缘效果颜色的设置为垂直滚动提供了适宜的界面切换效果为什么写这个库我们平时使用support包中的Vi...

2018-06-05 19:38:15 185

转载 Android自定义OKHttp,OKio的包名

 在某些特殊的情况下,需要对项目中使用的 okhttp 的包名进行修改,避免冲突或者版本不一致导致找不到类的问题。如果移动端访问不佳,请使用 ==> Github Pages 版。环境:macOS 10.12.6IDEA CE 2016.3.5OkHttp 3.8.1 源码OkIo 1.13.0 源码前置知识点在 pom 文件中引用本地 jar 包在对应的 module 下新建目录 lib,...

2018-06-04 19:37:40 772

转载 安卓嵌套滚动入门

 嵌套滚动是 Android OS 5.0之后,google 为我们提供的新特性。这种机制打破了我们对之前 Android 传统的事件处理的认知。从一定意义上可以理解为嵌套滚动是逆向的事件传递机制。从代码的层面看一下实现。代码中主要涉及到了四个类:NestedScrollingChild、NestedScrollingChildHelper、NestedScrollingParent、Nested...

2018-06-03 19:23:02 258

转载 Android App Bundle探索

Android App Bundle是Google最新推出的Apk动态打包,动态组件化的技术,通过一个.aab结尾的bundle文件组装一个apk来为你的设备安装。 通俗理解就是,Appbudle就是把Apk拆分成了多个积木,之前我们是把一个大而全的apk装到你手机里面,但是你其实用不到这么多东西,比如,你xxhdpi的手机屏幕是不需要xhdpi的图片资源的,但是在这之前都是已经打包进去了,会很浪...

2018-06-03 19:19:33 10381

转载 Android Button

选择按钮在开发过程中也是使用频率非常高的控件. 但是我发现很多人都是一知半解, 总结下Android选择按钮控件;记得活用目录功能包括以下控件:CheckBox 多选框RadioButton 单选框Switch 开关ToggleButton 切换按钮CompoundButton继承关系java.lang.Object ↳ android.view.View ↳ android.widget.Tex...

2018-06-01 10:37:13 557

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除