自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android退出应用的方式

一、容器式建立一个全局容器,把所有的Activity存储起来,退出时循环遍历finish所有Activityimport java.util.ArrayList;import java.util.List;import android.app.Activity;import android.os.Bundle;public class BaseActivity extends Activity

2016-05-19 22:18:55 267

原创 Android Context完全解析

Context相信所有的Android开发人员基本上每天都在接触,因为它太常见了。我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?其实简单点分析,Android程序不像Java程序一样,随便创建一个类,写个main()方法就能跑了,而是要有一个完整的Android工程环境,在这个环境下

2016-05-19 21:31:39 213

原创 说说Android中的ANR

有过Android开发经历的人都不会对ANR陌生,它和崩溃一样是程序设计的问题。本文将以较为深入的视角来介绍什么是ANR,出现场景,如何避免以及如何定位分析ANR,希望可以帮助大家在编写程序时有所帮助。什么是ANRANR全称Application Not Responding,意思就是程序未响应。如果一个应用无法响应用户的输入,系统就会弹出一个ANR对话框,如下图所示,用户可以自行选择继续等待亦或者

2016-05-18 20:35:56 250

原创 杂记

字符串拼接java中的字符串在做拼接的时候是不会产生中间对象的。因为当Java编译器遇到字符串拼接的时候,会创建一个StringBuilder对象,后面的拼接,实际上是调用StringBuilder对象的append方法。内部类可以访问外部类中的私有变量的原因在内部类构造的时候,会将外部类的引用传递进来,并且作为内部类的一个属性,所以内部类会持有一个其外部类的引用。非静态内部类导致的内存泄露在Act

2016-05-18 20:28:02 269 1

原创 比较 GET 与 POST

很简单,就是一张图。很能说明问题,简单直接。

2016-05-15 21:13:12 269

转载 浅谈 磁盘调度算法

磁盘调度在多道程序设计的计算机系统中,各个进程可能会不断提出不同的对磁盘进行读/写操作的请求。由于有时候这些进程的发送请求的速度比磁盘响应的还要快,因此我们有必要为每个磁盘设备建立一个等待队列,常用的磁盘调度算法有以下四种: 先来先服务算法(FCFS), 最短寻道时间优先算法(SSTF), 扫描算法(SCAN), 循环扫描算法(CSCAN)例:假定某磁盘共有200个柱面,编号为0-199,如

2016-05-15 10:54:38 307

转载 几种常见页面置换算法分析

评价一个算法的优劣,可通过在一个特定的存储访问序列(页面走向)上运行它,并计算缺页数量来实现。1 先入先出法(FIFO)最简单的页面置换算法是先入先出(FIFO)法。这种算法的实质是,总是选择在主存中停留时间最长(即最老)的一页置换,即先进入内存的页,先退出内存。理由是:最早调入内存的页,其不再被使用的可能性比刚调入内存的可能性大。建立一个FIFO队列,收容所有在内存中的页。被置换页面总是在队列头上

2016-05-15 10:52:34 3993

转载 Java锁机制

一段synchronized的代码被一个线程执行之前,他要先拿到执行这段代码的权限,在java里边就是拿到某个同步对象的锁(一个对象只有一把锁); 如果这个时候同步对象的锁被其他线程拿走了,他(这个线程)就只能等了(线程阻塞在锁池等待队列中)。 取到锁后,他就开始执行同步代码(被synchronized修饰的代码);线程执行完同步代码后马上就把锁还给同步对象,其他在锁池中等待的某个线程就可以拿到锁执

2016-05-12 21:48:14 274

原创 Interface与abstract类的区别

1、 抽象类在java语言中所表示的是一种继承关系,一个子类只能存在一个父类,但是可以存在多个接口。 2、 在抽象类中可以拥有自己的成员变量和非抽象类方法,但是接口中只能存在静态的不可变的成员数据(不过一般都不在接口中定义成员数据),而且它的所有方法都是抽象的。 3、抽象类和接口所反映的设计理念是不同的,抽象类所代表的是“is-a”的关系,而接口所代表的是“like-a”的关系。抽象类和接口是

2016-05-09 20:11:55 274

原创 Fragment和Activity

(一)Fragment和Activity的交互一个Fragment的实例总是和包含它的Activity直接相关。 Fragment可以通过getActivity() 方法来获得Activity的实例,然后就可以调用一些例如findViewById()之类的方法。   如: View listView = getActivity().findViewById(R.id.list);  但是注意调用

2016-05-08 17:10:10 1110

原创 HashMap的实现原理

1. HashMap的数据结构数据结构中有数组和链表来实现对数据的存储,但这两者基本上是两个极端。数组和链表的区别主要体现在以下几个方面: 1)逻辑结构:数组必须事先定义固定的长度(元素个数),不能适应数据动态地递增的情况,即在使用数组之前,就必须对数组的大小进行确定。当数据增加时,可能超出原来定义的元素个数;当数据减少时,造成内存浪费。数组中插入、删除数据项时,需要移动其他数据项。而链表采用动

2016-05-08 10:15:37 594

原创 第10章 Android的消息机制

本章主要讲的内容是Android的消息机制。 Android的消息机制主要是指Handler的运行机制,Handler的运行需要底层的MessageQueue和Looper的支撑。MessageQueue就是我们常说的消息队列,它的内部存储了一组消息,虽然叫做消息队列,但是它的内部却是采用单链表的数据结构才存储消息列表的。Looper为消息循环,由于MessageQueue只是一个消息的存储单元,

2016-05-06 22:47:25 1345

原创 第11章 Android的线程和线程池

线程在Android中是一个很重要的概念,从用途上来说,线程分为主线程和子线程,主线程主要处理的是和界面相关的事情,而子线程则往往用于耗时的操作。由于Android的特性,如果在主线程中执行耗时操作就容易导致程序无法及时响应。除了Thread本身外,Android中可以扮演线程角色的还有很多很多,比如: AsyncTask,IntentService和HandlerThread。不同形式的线程虽然

2016-05-05 21:42:25 1786

原创 第1章 Activtiy的生命周期和启动模式

1.1 Activtiy的生命周期全解 Activity的生命周期分为两部分内容,一部分是典型情形下的生命周期,另一个就是异常情形下的生命周期。所谓的典型情形下的生命周期是指在用户参与的情况下,Activity所经历的生命周期的改变;而异常情况下的生命周期是指Activity被系统回收或者由于当前设备的Configuration发生变化而导致的Activity被销毁重建。 1.1.1 典型情况下

2016-05-05 09:34:28 2120

空空如也

空空如也

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

TA关注的人

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