自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(95)
  • 资源 (4)
  • 收藏
  • 关注

原创 添加高德key

步骤:高德申请地址 https://lbs.amap.com/api/android-location-sdk/guide/create-project/get-key高德需要SHA1码,获取这个码需要keystorekeystore通过工具(androidStudio)在本地生成https://blog.csdn.net/dingkun520wy/article/details/549...

2018-12-04 17:59:42 354

原创 List中remove数据

List中remove数据的正确使用方法 private void removeDuplication(List<Integer> data){ if(data == null || data.size()<=0){ return; } Iterator<Integer> it = data.iterator(); whi...

2018-11-06 19:36:49 1008

转载 android获取文件内部存储路径

一.getCacheDir、getCacheDirgetCacheDir()方法用于获取/data/data//cache目录 getFilesDir()方法用于获取/data/data//files目录二.getExternalFilesDir、getExternalCacheDir  应用程序在运行的过程中如果需要向手机上保存数据,一般是把数据保存在SDcard中的。大部分...

2018-03-29 22:53:18 7981

原创 builder模式

builder模式通过设置一些属性来创建对象,根据设置属性的顺序分为两种: 1. 无顺序要求 2. 有顺序要求 常见是无顺序要求的,比如dialog的创建。1,无顺序要求需求:创建一个Macbook,电脑有三个属性 操作系统、键盘、鼠标。思路:使用Macbook 内部类Builder来为Macbook设置属性,并创建最终的Macbook因为Macbook属于电脑,可以再建一个co

2018-01-03 23:54:17 306

原创 ListView的刷新与复用

之前我们说过listView的刷新,最终调用的是view.requestLayout。然后经过一系列android机制,最后其实就是view的绘制过程。只其中的过程这里就不描述了,咱们直接看listView的绘制过程吧。listView.onLayout绘制的基本流程,onMeasure-->onLayout-->onDraw,对于listView,measure、draw都没什么特别的,

2017-11-26 20:59:59 309

原创 关于listView,我想说的

导读listView在android中是很重要的控件,也是菜鸟view入门的一个很好的台阶。通过它可以了解view的滑动,观察者模式,缓存,生产者消费者模式,已经listView特有的view复用机制等等。个人比较遗憾的是,接触listView已经很久了,但一直没有真的理解(可能直接里结果,但现在忘记了)。 通过最近这个项目,重新接触了listView,在项目中也遇到了一些问题,犯了一些错,相信这

2017-11-15 23:20:25 263

原创 textView设置行间距

这个属性在android5.x前后显示有差异。

2017-11-13 20:00:32 469

转载 http和https的区别

http概述 HTTPS,全名叫安全的超文本传输协议(HyperText Transfer Protocol Secure) 其实HTTPS就是在常规的TCP协议层之上加入了一层TLS或者SSL协议。所以其端口也不是常规的HTTP的80端口,变成了443端口区别https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。http是超文本传输协议,信息是明文传输,https则是具有安

2017-09-19 10:31:31 548 1

转载 广播开线程为什么不可取

首先需要知道: 1,这里所说的广播是静态广播 2,广播是运行在ui线程,阻塞15s会ANR 3,当android程序第一次运行时会启动一个进程和一个ui线程(不考虑多进程,多线程等) 一个未运行的程序接受到一个广播后的流程: 1,启动程序进程 2,启动ui线程和调用广播的 onReceive(Context context, Intent intent)方法 3,onRec

2017-09-17 15:34:26 550

原创 android 进程和线程的区别,以及系统的进程的基本知识

进程是系统进行资源分配的独立单元设计思想:为了允许多个程序同时在内存中运行特点进程是程序的一次执行过程。若程序执行两次甚至多次,则需要两个甚至多个进程。进程是是正在运行程序的抽象。它代表运行的CPU,也称进程是对CPU的抽象。(虚拟技术的支持,将一个CPU变幻为多个虚拟的CPU)系统资源(如内存、文件)以进程为单位分配。操作系统为每个进程分配了独立的地址空间操作系统通过“调度”把控制权交

2017-09-17 15:07:46 4407

原创 布局优化---merge标签的使用

定义首先我们看官方的说明:The tag helps eliminate redundant view groups in your view hierarchy when including one layout within another. For example, if your main layout is a vertical LinearLayout in which two cons

2017-09-13 11:43:46 1927

原创 ViewStub使用

介绍ViewStub是一个轻量级的view。官方解释如下 A ViewStub is an invisible, zero-sized View that can be used to lazily inflate layout resources at runtime. When a ViewStub is made visible, or when inflate() is invoked

2017-09-12 20:01:18 445

原创 代理模式proxy

一,定义为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用, 其特征是代理类与委托类有同样的接口:表现形式如下 二,功能特点代理类不仅仅是一个隔离客户端和委托类的中介。我们还可以借助代理来在增加一些功能,而不需要修改原有代码,严重的复合开闭原则哦。 代理类主要负责为委托类预处理消息

2017-09-11 16:55:33 399

原创 内存溢出OOM常见类型

一,定义内存溢出 out of memory,是指程序在申请内存时,没有足够的内存空间供其使用,出现out of memory;比如申请了一个integer,但给它存了long才能存下的数,那就是内存溢出。内存泄露 memory leak,是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后果很严重,无论多少内存,迟早会被占光。 memory leak会最终会

2017-09-05 22:21:16 2703 1

转载 内存泄漏的常见类型

参考:【Android性能优化】内存泄露和内存溢出(OOM)的引发原因及优化方案一、定义内存泄漏是指:应该被GC回收的对象无法被回收,这个对象会引发内存泄漏。二、危害1、引发内存溢出; 2、导致内存不足,频繁触发GC,因而导致UI卡顿;三、检测工具1、MAT(Memory Analyzer Tools)是一个分析Java堆数据的专业工具,用它可以定位内存泄漏的原因。 MAT 使用方法: 内存泄

2017-09-05 19:37:10 660

转载 Activity.startActivity源码分析

参考: ,概述startActivity分为两种: 一种是从桌面的icon进入(不包括app后台的情况),称之为启动app; 另一种是app内部的页面跳转,称之为启动activity;

2017-08-26 15:34:37 233

转载 Application初始化源码分析

1,app的入口ActivityThread.main();2,App主线程的消息循环是在ActivityThread初始化的时候,就已经创建消息循环了,所以在主线程里面创建Handler不需要指定Looper,而如果在其他线程使用Handler,则需要单独使用Looper.prepare()和Looper.loop()创建消息循环。 public static void main(Strin

2017-08-24 09:29:28 298

转载 Activity栈管理

转载 :Activity(三)栈管理 1) ActivityRecord 源码注释:An entry in the history stack, representing an activity. 翻译一下:存在历史栈的一个实例,代表一个Activity。 2) TaskRecord Activity栈,内部维护一个ArrayList 3) ActivityStack 并不是一个Act

2017-08-23 23:01:48 334

原创 数组遍历 和 迭代器遍历的区别

循环数组时候如果要对数组进行add、remove操作,采用 迭代器的遍历,list的遍历通常有三种方式:1,普通的数组遍历 for (int i = 0; i < args.length; i++) { }2,加强型数组遍历for (String string : args) { }3,迭代器遍历while (it.hasNext()) { type type =

2017-07-24 19:19:38 3052 1

原创 sql 的update

方案一:update student s, city c set s.city_name = c.name where s.city_code = c.code;方案二: 采用子查询update student s set city_name = (select name from city where code = s.city_code);

2017-07-20 20:09:04 251

原创 sql的执行顺序

select查询中用到的关键词主要包含六个,并且他们的顺序依次为 select–from–where–group by–having–order by – limit其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序 与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行 from–where–group by–having–order by–select–

2017-07-19 19:53:30 197

原创 java 调用bat文件

执行桌面的aa.bat文件; bat文件 是window下的批处理文件,文件里面有一些要执行的命令; 其实就是,java调起cmd,通过cmd来批量执行bat中的命令,实现自动化cmd /c dir 是执行完dir命令后关闭命令窗口。cmd /k dir 是执行完dir命令后不关闭命令窗口。cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。cmd /k start

2017-07-18 09:26:34 4656

转载 PriorityQueue使用

转载 : PriorityQueue详解 深入理解Java PriorityQueue 最初的起因是我阅读文档不仔细,使用PriorityQueue出现了问题。我刚开始只是把它当作一个一般的FIFO实现来使用,结果发现poll()的结果跟我想象的不一样,后来才发现,PriorityQueue会对入队的元素进行排序,所以在队列顶端的总是最小的元素。(并非所有元素排序)有趣的是,我在仔细阅读文档以

2017-07-12 20:43:55 282

转载 SpringMVC --@RequestMapping

一、@RequestMapping 简介在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置<servlet> <servlet-name>servletName</servlet-name> <servlet-class>ServletClass</servlet-c

2017-07-12 19:32:23 312

转载 BlockingQueue使用说明

转载:BlockingQueue在新增的Concurrent包中,BlockingQueue很好的解决了多线程中,如何高效安全“传输”数据的问题。通过这些高效并且线程安全的队列类,为我们快速搭建高质量的多线程程序带来极大的便利。本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景。 认识BlockingQueue阻塞队列,顾名思义,首先它是一个队列,而一个队列

2017-07-10 19:55:49 198

转载 Adb 那些事

转载:Android adb你真的会用吗?

2017-07-10 14:02:15 155

转载 web.xml中servlet-mapping的配置

转自: web.xml中servlet-mapping的配置< servlet-mapping>元素在Servlet和URL样式之间定义一个映射。它包含了两个子元素< servlet- name>和< url-pattern>,< servlet-name>元素给出的Servlet名字必须是 在< servlet>元素中声明过的Servlet的名字。< url-pattern>元素指定对应于Serv

2017-07-06 20:44:09 673

原创 Android Device Monitor

Android Device Monitor是一个独立的工具,可以对Android应用进行调试和分析。Android Device Monitor无需安装整合在一个IDE中,比如像Android Studio,提供如下工具: 1、 DDMS 2、 Tracer for OpenGL ES 3、 Hierarchy Viewer 4、 Systrace 5、 Traceview

2017-07-05 22:33:34 343

原创 CPU Monitor

我们如何判断可能有问题的方法?通过方法的调用次数和独占时间来查看,通常判断方法是: 如果方法调用次数不多,但每次调用却需要花费很长的时间的函数,可能会有问题。 如果自身占用时间不长,但调用却非常频繁的函数也可能会有问题。

2017-07-05 22:26:23 651

原创 Memeory Monitor ---内存分配

allocation trace

2017-07-05 22:24:11 208

转载 Memory Monitor 的使用---内存泄漏

转载自 :Android Studio - HPROF文件查看和分析工具当你在Android Studio中使用Android Monitor里的Memory Monitor工具监视内存使用情况时,可以把Java堆快照转储到Android HPROF文件中(译者注:与标准的java hprof文件格式标准不一样)。HPROF查看工具会列出类、类的实例和实例的引用树,以此来帮助你跟踪内存的使用情况,找

2017-07-05 20:48:55 449

原创 文件夹路径

不同的系统文件夹路径

2017-06-28 21:02:18 368

原创 Activity生命周期

1,Activity生命周期将activity的生命周期就不能错过下面这张经典的图。1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,Activity进入运行状态。2.当前Activity被其他Activity覆盖其上或被锁屏:系统会调用onPause方法,暂停当前Activity的执行(有疑问)。3.当前Ac

2017-04-26 20:47:22 199

原创 Handler异步消息处理机制 总结

参考:http://blog.csdn.net/yanbober/article/details/459361451,概述消息处理机制中,主要有这么几个概念,handler、looper、message、messageQueue。在handler的构造函数中,对looper、messageQuenu进行初始化 public Handler(Callback callback,

2017-04-24 21:47:31 326

转载 Messenger 跨进程通信

参考: Android应用进程间通信之Messenger信使使用及源码浅析1,概述:Messenger实现了IPC通信,其真实原理也是使用了AIDL进行通信,但是和直接使用AIDL不同的是Messenger利用了Handler处理通信,所以它是线程安全的(不支持并发处理);而我们平时用的AIDL是非线程安全的(支持并发处理)。所以大多数时候我们应用中是不需要处理夸进程并发处理通信的,所以这

2017-04-11 17:28:46 260

原创 context 详解

借鉴:Android应用Context详解及源码解析   http://www.androidchina.net/3853.html  http://www.jianshu.com/p/f24707874b041,Context介绍源码:/** * Interface to global information about an application environme

2017-04-07 12:45:17 444

原创 String 添加链接

1,通过Html TextView tips = (TextView) findViewById(R.id.text); String str = "单击打开 百度首页"; tips.setText(Html.fromHtml(str)); tips.setMovementMethod(LinkMovementMethod.getIns

2017-04-05 19:33:19 656

转载 LayoutInflater 分析

1,获取LayoutInflater 对象2,LayoutInflater.inflate()方法参数3,layout_width和layout_height的真实含义4,布局优化http://blog.csdn.net/yanbober/article/details/45970721

2017-03-31 14:57:29 268

原创 源码分析 setContentView() 布局加载机制

1,setContentView 分析:1.1 Activity源码: /** * Set the activity content from a layout resource. The resource will be * inflated, adding all top-level views to the activity. * *

2017-03-31 14:41:09 266

原创 Interface 的使用

接口的两种作用:监听和回调,在未来的某个时刻执行当前方法。例子:点击事件的监听、网络请求的回调具体实现:在Class1中定义接口,Class1中执行 Class2的setListener(interface的实现)方法,为Class2中的接口赋值,在Class2中合适的地方调用interface的方法传递数据例子:fragment和activit

2017-03-30 09:55:46 7664

Android-PullToRefresh-master

Android-PullToRefresh-master

2016-10-20

《EventBus使用详解(EventBus使用》

2016-09-12

wyouflf-xUtils-2.6.2-1

2016-09-09

sublime软件

sublime软件,写代码真的很实用。辨识度高

2014-06-06

空空如也

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

TA关注的人

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