自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

noonehide的博客

一起来跟android开心的玩耍吧!

原创 imgs

vue-diff

2017-08-31 15:45:53

阅读数 229

评论数 0

原创 前端跨域(CORS)解决方案

同源指的是:同协议,同域名,同端口一. 为什要设计同源策略? 浏览器出于安全方面的考虑,不同源的客户端脚本在没有明确授权的情况下,不能读写对方的资源。二.我们怎么从其他网站获取数据? 1. 服务器处理: 流程: 1.浏览器发现这次请求不符合同...

2017-06-16 17:15:42

阅读数 266

评论数 0

转载 Meta标签详解

标签提供关于HTML文档的元数据。元数据不会显示在页面上,但是对于机器是可读的。它可用于浏览器(如何显示内容或重新加载页面),搜索引擎(关键词),或其他 web 服务。它的必要属性有: content: 定义与http-equiv或name属性相关的元信息可选属性: http-equiv :...

2017-06-16 16:00:24

阅读数 183

评论数 0

原创 Android打包详解

第一步:打包资源文件,生成R.java文件。 【输入】Resource文件(就是工程中res中的文件)、Assets文件(相当于另外一种资源,这种资源Android系统并不像对res中的文件那样优化它)、AndroidManifest.xml文件(包名就是从这里读取的,因为生成R.java文件需...

2017-06-16 15:35:51

阅读数 145

评论数 0

原创 数据结构与算法简介

官方定义: 数据结构是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。数据结构中结构的概念: 数据结构中的结构,也就是我们研究的主体对象。数据结构中我们很少研究数据,因为数据在内存中的表现形式对于我们都是一样的,也就是二进制。传统上,我们把数据结构分为逻...

2017-03-28 11:28:24

阅读数 179

评论数 0

原创 Activity启动流程

要熟悉Activity启动流程,得首先知道以下几个概念 1.ActivityManagerService(AMS):服务端对象,负责系统中所有Activity的生命周期。服务端这个概念不仅仅存在于web项目很中,在Android系统中,ams,pms,wms等系统服务属于公共服务,我们的App通...

2017-03-28 10:54:58

阅读数 122

评论数 0

原创 Android打包流程

第一步:打包资源文件,生成R.java文件。 【输入】Resource文件(就是工程中res中的文件)、Assets文件(相当于另外一种资源,这种资源Android系统并不像对res中的文件那样优化它)、AndroidManifest.xml文件(包名就是从这里读取的,因为生成R.java文件需...

2017-03-24 13:46:39

阅读数 136

评论数 0

原创 Android热修复实现原理以及方法

现在主要由两大方法 1.阿里AndFix,主要是采用Ndk实现对方法指针的替换 2.腾讯Tinker 现在主要说的是tinker的实现方法: 一. 首先介绍下两个概念: public class PathClassLoader extends BaseDexClassLoader { ...

2017-03-23 15:06:46

阅读数 368

评论数 0

原创 Touch事件传递与滑动冲突解决方案

一.当一个触摸事件产生后,它的传递过程顺序如下:Activity -> Window -> DecorView,即事件总是先传递给Activity,Activity再传递给Window,最后Window再传递给顶层View DecorView;然后在不被拦截的情况下,触摸事件会被传递到...

2017-03-22 17:54:35

阅读数 121

评论数 0

原创 Volley源码解析

volley,应该是Android开源框架中最简单的框架了,同时它也是最具有代表性的框架。如果你吃透了它,那么你看其他的开源框架也会容易很多。 先上图: 从上图中可以看出,Volley创建了RequestQueue,RequestQueue执行Cache和NetWork两个转发器, 最终...

2017-03-21 17:46:49

阅读数 156

评论数 0

原创 app启动时间优化

app启动时间龟速,主要就是因为在Application的onCreate里面或者启动页的onCreate里面干了很多耗时的操作,比如各种第三方框架的初始化等等。首先我们可以用TraceView来对方法对执行时间进行检测: 1.通过DDMS打开TraceView 2.使用代码// 在自己想...

2017-03-21 17:08:50

阅读数 147

评论数 0

原创 RxJava-操作符

操作符是为了解决对Observable对象的变换的问题,操作符用于在Observable和最终的Subscriber之间修改Observable发出的事件。 RxJava提供了很多很有用的操作符。 我们的观察者的作用是响应,那么数据的变换就要靠操作符来对观察者的Observable对象进行修改...

2017-03-21 16:15:01

阅读数 129

评论数 0

原创 RxJava入门篇

RxJava,它是一个响应式编程框架:意味着可以在编程语言中很方便地表达静态或动态的数据流。 基本概念: Observable:发射源,英文释义“可观察的”,在观察者模式中称为“被观察者”或“可观察对象”;Observer:接收源,英文释义“观察者”,没错!就是观察者模式中的“观察者”,可接收...

2017-03-21 16:02:32

阅读数 106

评论数 0

原创 性能检测使用工具

Android的性能优化的工具,androidStudio自带了三种 1)Memory Monitor获得内存的动态视图,发现大内存对象分配的场景,确定卡顿问题是否因为执行了GC操作 从下图可以清楚的看到突然增加的内存分配,以及内存抖动 2)Heap Viewer显示堆内存中存储了什么,...

2017-03-20 17:28:54

阅读数 183

评论数 0

原创 Service进程防杀

Serviceservice:是一个后台服务,专门用来处理常驻后台的工作的组件。即时通讯:service来做常驻后台的心跳传输。 1.良民:核心服务尽可能地轻!!! 很多人喜欢把所有的后台操作都集中在一个service里面。 为核心服务专门做一个进程,跟其他的所有后台操作隔离。 树大招风,...

2017-03-20 16:40:30

阅读数 182

评论数 0

原创 Handler机制详解

先上一张图 Handler里面主要的几个元素:Message,MessageQueue,Looper一. Handler的构造方法,会首先得到当前线程中保存的Looper实例,进而与Looper实例中的MessageQueue想关联。 Handler的sendMessage方法,会给msg的t...

2017-03-20 16:38:37

阅读数 233

评论数 0

原创 解决Fragment嵌套问题

在使用add加载Fragment,并且使用show,hide来控制Fragment,如果没有相关恢复处理,在页面被强杀重启后,就会导致这多个Fragment都是show的形态显示,即多个布局叠加在Activity上 原理: app进入后台、屏幕旋转前、跳转下一个Activity,内存不足被强杀,...

2017-03-20 15:49:35

阅读数 703

评论数 0

原创 activity和fragment生命周期

Activity生命周期: onCreate– onReStart(退回该activity的时候使用)–>onStart–>onResume–>onPause–>onStop–>onDestroy1.启动Activity:系统会先调用onCreate方法,然后调用o...

2017-03-20 15:25:11

阅读数 554

评论数 0

原创 Activity启动模式

1.standard:默认的启动模式,在这个模式下默认创建新的实例 2.singleTop:可以有多个实例,但是不允许多个相同Activity叠加。即,如果Activity在栈顶的时候,启动相同的Activity,不会创建新的实例,而会调用其onNewIntent方法。3.singleInsta...

2017-03-20 15:11:05

阅读数 98

评论数 0

原创 如何高效的加载大图,避免oom

1.设置inJustDecodeBounds 属性为true可以在解码的时候避免内存的分配,它会返回一个null的Bitmap但是可以获取宽高 2.通过设置insampleSize,可以设置缩小的倍数 mImageView.setImageBitmap( decodeSampledBitm...

2017-03-20 15:07:55

阅读数 149

评论数 0

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