自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Handler机制及原理探究

Handler使用简单功能强大,常被用作线程间传递消息的组件,而且还可以用于跨进程。消息机制背后有包括Looper ,MessageQueue管理和分发消息的实现,同时在Native层也单独实现了一套类似的机制,接收和处理Native层的消息。Java层和Native层的消息循环是独立运行的,彼此的Message并不会互通,Native使用epoll机制来实现监听及触发,并向JAVA层提供了接...

2018-09-17 17:14:15 197

原创 自定义View之onMeasure()方法

前言一个View从创建到被绘制到屏幕上,需要完成measure(测量)、layout(布置)、draw(绘制)三个步骤,分别对应View中的measure()、layout()、draw()三个方法。网上关于这三个方法的源码解析文章有很多,而且一般情况下也不会去重写它们(measure()方法还无法覆盖),因此本文不打算将其作为重点。本文以及接下来的几篇文章会详细介绍和编程人员关系更大的onM...

2018-09-17 17:13:12 235

原创 ListView中getView()的原理

ListView 和 Adapter 的基础工作原理:ListView 针对List中每个item,要求 adapter “给我一个视图” (getView)。 一个新的视图被返回并显示 如果我们有上亿个项目要显示怎么办?为每个项目创建一个新视图?NO!这不可能!实际上Android为你缓存了视图。Android中有个叫做Recycler的构件,下图是他的工作原理: 如果你有...

2018-09-17 17:08:34 1213

原创 android加载大量图片内存溢出的三种解决办法

方法一:在从网络或本地加载图片的时候,只加载缩略图。 /*** 按照路径加载图片 * @param path 图片资源的存放路径 * @param scalSize 缩小的倍数 * @return */ public static Bitmap loadResBitmap(String path, int scalSize) { BitmapFactory.Optio...

2018-09-17 17:01:12 2299

原创 内存泄露和内存溢出的区别 (概念区别 产生原因区别 及解决办法) 个人整理

内存泄露和内存溢出的区别概念区别内存溢出 : out of memory 指程序在申请内存时,没有足够的内存空间供其使用,出现out fo memory 比如申请一个integer 但给它存了long才能存下的数那就是内存溢出内存泄露 : memory leak 指程序在申请内存后,无法释放已经申请的内存空间,一次内存泄露危害可以忽略,但内存泄露堆积后的结果很严重,无论多少内存,迟早会...

2018-09-17 16:59:46 86

原创 Android开发-Handler引起的内存泄漏-实验、分析、总结。

介绍最近在恶补Handler的知识,其中就涉及到了Handler引起的内存泄露问题,网络上有很多的分析文章。我就按照这些文章的思路,写代码验证,主要是验证和记录。 使用的内存检测工具是:LeakCanary 中文使用说明英文原文: http://www.androiddesignpatterns.com/2013/01/inner-class-handler-memory-leak.h...

2018-09-17 16:58:42 203

原创 多线程下synchronized修饰static方法与非static方法的区别

一直对多线程的概念比较模糊,今天就写了个关于变量原子操作的小程序,好让自己加深一下理解代码如下:   package atomic;   public class JoinThread extends Thread {   public static int i = 0;   //public static AtomicInteger at...

2018-09-17 16:56:24 301

原创 Synchronized同步静态方法和非静态方法总结

1.Synchronized修饰非静态方法,实际上是对调用该方法的对象加锁,俗称“对象锁”。       Java中每个对象都有一个锁,并且是唯一的。假设分配的一个对象空间,里面有多个方法,相当于空间里面有多个小房间,如果我们把所有的小房间都加锁,因为这个对象只有一把钥匙,因此同一时间只能有一个人打开一个小房间,然后用完了还回去,再由JVM 去分配下一个获得钥匙的人。 情况1:同一个对...

2018-09-17 16:50:25 129

原创 Singleton 单例模式(懒汉方式和饿汉方式)

笔者总结如下 懒汉 类加载的时候不初始化,需要同步 饿汉 类加载时候就已经完成了初始化,不需要同步 个人推荐饿汉,空间换时间,浪费一点空间储存初始化过的变量 单例模式的概念:单例模式的意思就是只有一个实例。单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。关键点:1)一个类只有一个实例       这是最基本的2)它必须自行创建这...

2018-09-17 16:46:27 93

原创 线程有两种实现方法的具体区别

Java中有两种实现多线程的方式。一是直接继承Thread类,二是实现Runnable接口。那么这两种实现多线程的方式在应用上有什么区别呢? 第一种方式:使用Runnable接口创建线程第二种方式:直接继承Thread类创建对象使用Runnable接口创建线程1.可以将CPU,代码和数据分开,形成清晰的模型2.线程体run()方法所在的类可以从其它类中继承一些有用的属性和方法3.有利于...

2018-09-17 16:42:02 292

原创 使序列有序的最少交换次数

题目1:给出一个序列,只交换相邻两数,使得序列升序排列,求出最少交换次数。思路:如果说只是交换相邻两个数字。那么就是这个序列的逆序数。1.假设序列个数为n,我们先把最大的数换到最后,因为是相邻数字交换,所以把最大数交换到最后,需要交换的次数为最大数后的数字个数。2.当完成最大数的交换后,可以将最大数从序列中划去不管了,即此时序列个数为n-1了,我们再在该序列中找到一个最大数,进...

2018-09-14 09:05:51 1358

原创 Override和Overload的含义去区别

java中的继承,方法覆盖(重写)override与方法的重载overload的区别 方法的重写(Overriding)和重载(Overloading)是Java多态性的不同表现。   重写(Overriding)是父类与子类之间多态性的一种表现,而重载(Overloading)是一个类中多态性的一种表现。如果在子类中定义某方法与其父类有相同的名称和参数,我们说该方法被重写 (Overri...

2018-09-06 16:24:53 130

android studio手机角度显示

android studio手机角度显示,android studio手机角度显示

2018-04-19

android扫描页制作

android扫描页制作,android扫描页制作,android扫描页制作

2017-11-15

android service练习

android service练习,希望对大家有帮助,android service练习,希望对大家有帮助

2017-11-15

基于Android的个人信息管理系统

实现记事本,日历,通讯录功能

2017-08-15

空空如也

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

TA关注的人

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