自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 自定义View

1.自定义view的属性(1)自定义属性:在res/values/新建一个attrs.xml文件里面定义需要的属性;<resources>    <declare-styleable name="SolarView">        <attr name="max"/>        <attr name="pregress" format=&quot

2018-02-25 13:01:45 186

转载 Android Camera2自定义相机

详见:http://blog.csdn.net/qq_27512671/article/details/51026794

2018-02-25 12:00:45 455

原创 Android常用设计模式(二)——工厂模式

6.工厂模式:工厂模式是一种创建者模式,在任何生成复杂对象的地方都可以使用工厂模式。工厂模式分类简单工厂模式工厂模式抽象工厂模式三者之间的区别:工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。简单工厂模式只有一个抽象产品类,一个工厂类简单工厂模式简单工厂模式,一个具体工厂类负责生产所有的具体产品。客户端只需要关...

2018-02-19 10:35:48 280

原创 Android 常用设计模式(一)

1.单例模式详情见:http://blog.csdn.net/qing_happy88/article/details/793354152.Build模式了解了单例模式,接下来介绍另一个常见的模式——Builder模式。那么什么是Builder模式呢。你通过搜索,会发现大部分网上的定义都是将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示但是看完这个定义,并没有什么卵用,你依...

2018-02-19 08:02:05 270

转载 Android 单例模式

概念:  java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。  单例模式有以下特点:  1、单例类只能有一个实例。  2、单例类必须自己创建自己的唯一实例。  3、单例类必须给所有其他对象提供这一实例。  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机...

2018-02-18 20:28:09 193

原创 Android内存优化

一.内存泄露:对象在内存heap堆中中分配的空间,当不再使用或没有引用指向的情况下,仍不能被GC正常回收的情况。多数出现在不合理的编码情况下,比如在 Activity中注册了一个广播接收器,但是在页面关闭的时候进行unRegister,就会出现内存溢出的现象。通常情况下,大量的内存泄漏会造成 OOM。二.内存溢出:OOM:即OutOfMemory,顾名思义就是指内存溢出了。内存溢出是指APP向系统...

2018-02-17 18:35:41 227

原创 Android TCP/TP协议

 在学习和使用Android网路编程时,我们接触的仅仅是上层协议和接口如Apache的httpclient或者Android自带的httpURlconnection等等。对于这些接口的底层实现我们也有必要进一步的了解,这就要我们了解网络通信层了,提到网络通信层不得不说起ISO-OSI的七层协议经典架构,如图所示:    上图的左边部分就是osi架构模型了, ISO/OSI模型,即开放式通信系统互联...

2018-02-15 13:36:15 1934

原创 Http和Https的区别

一.HTTP和HTTPS的基本概念Http中文叫做超文本传输协议,它完成客户端到服务端等一系列运行流程。是互联网上应用最为广泛的一种协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,他可以使浏览器更加高效,使网络传输减少。HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL...

2018-02-15 11:37:10 274

原创 Android Service详解

Service全部内容基本会在本篇涉及到,我们将围绕以下知识点进行分析:Service简单概述Service在清单文件中的声明Service两种启动方式(启动服务与绑定服务)及其详解关于启动服务与绑定服务间的转换问题前台服务以及通知发送服务Service与线程Thread的区别Android 5.0以上的隐式启动问题及其解决方案保证服务不被杀死的实现思路1.Service简单概述Service是一...

2018-02-13 18:19:04 295

原创 Activity的四种启动模式及其应用场景

任务栈:(1)程序打开时就会创建一个任务栈,用于存储当前程序的activity,所有的activity属于一个任务栈;(2)一个任务栈包含了一个activity集合,去有序的选择哪个activity和用户进行交互;只有在任务栈顶的activity才可以跟用户进行交互;(3)任务栈可以移动到后台,并且保留每一个activity状态,并且有序的给用户列出他们的任务,而且还不丢失他们的状态信息;(4)退...

2018-02-12 22:02:19 176

原创 Android 多线程的四种方式

Android 多线程的四种方式UI Thread中运行着许多重要的逻辑,如系统事件处理,用户输入事件处理,UI绘制,Service,Alarm等,如下图我们编写的代码则穿插在这些逻辑中间,比如对用户触摸事件的检测和响应,对用户输入的处理,自定义View的绘制等。如果我们插入的代码比价耗时,如网络请求或数据库读取,就会阻塞UI线程其他逻辑的执行,从而导致界面卡顿。如果卡顿时间超过5

2018-02-05 16:12:31 300

原创 成功集成个推后,点击推送直接跳入app指定页面

1.首先跳转在哪里写:前提是个推集成成功,在Service如下方法中获取服务器推送过来的数据; @Override public void onReceiveMessageData(Context context, GTTransmitMessage msg) {//获取后台推送通知里面的透传消息 String payload = new String(msg.getPa

2017-08-11 16:41:20 8715 4

原创 进程的清空和销毁

进程:操作系统结构的基础,资源分配的最小单位.线程:线程存在于进程当中,是操作系统调度执行的最小单位.使用的进程会常驻内存当中(eg:按Home键出现的一个个应用程序就是一个个进程)清空销毁进程:五个级别:(根据进程优先级别进行动态的销毁和清空)1.      Foreground Process前台进程:eg:用户正在使用的界面2.      Visible Process:

2017-08-10 13:45:07 388

原创 Android Studio 出现 Gradle's dependency cache may be corrupt 错误分析

情况说明:之前下载了 Android Studio 1.0rc2候选版,那时候把 SDK路径放到了 Android Studio 的包路径下,之后看官网是不建议这样做的,今天打算升级到正式版,所以就把 SDK 给拿出来放到了另一路径下。此时我打开项目,将 sdk引到了新路径下,这时就出现如下错误了: 根据错误提示,我觉得有可能是.gradle 出现问题了,一不做二不

2017-05-24 12:03:28 259

原创 RecycleView item点击事件实现,item放大缩小动画布局不变形

为RecyclerView的每个子item设置setOnClickListener,然后在onClick中再调用一次对外封装的接口,将这个事件传递给外面的调用者。而“为RecyclerView的每个子item设置setOnClickListener”在Adapter中设置。其实直接在onClick中也能完全处理item的点击事件,但是这样会破坏代码的逻辑。步骤adapter中

2017-04-19 16:44:51 8053 1

转载 Android热更新方案Robust

首先远程依赖 Robust 的一些插件,用于辅助生成 patch.jar 的。此时我们不需要深入了解,只需要知道它是用来辅助的就好。在项目最外层的 build.gradle 添加两处插件> classpath 'com.meituan.robust:gradle-plugin:0.3.3' > classpath 'com.meituan.robust:auto-patch-plugi

2017-04-10 09:44:27 975

转载 Can't use Subversion command line client: svn Probably the path to Subversion executable is wrong. F

1、最近使用SVN工具时,Checkout出项目到本地后后,然后将其导入到Intellij idea中开发,在提交svn代码的时候,出现这样的错误:Can't use Subversion command line client: svn     Probably the path to Subversion executable is wrong. Fix it.百度了一个上午,终于找到解决

2017-04-06 17:40:55 1283

空空如也

空空如也

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

TA关注的人

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