- 博客(16)
- 收藏
- 关注
原创 Android Training - 管理应用的内存
Random Access Memory(RAM)在任何软件开发环境中都是一个很宝贵的资源。这一点在物理内存通常很有限的移动操作系统上,显得尤为突出。尽管Android的Dalvik虚拟机扮演了常规的垃圾回收的角色,但这并不意味着你可以忽视app的内存分配与释放的时机与地点。为了GC能够从app中及时回收内存,我们需要注意避免内存泄露(通常由于在全局成员变量中持有对象引用而导致)并且在适当
2015-08-19 16:19:18
393
转载 Android中将布局文件/View添加至窗口过程分析 ---- 从setContentView()谈起
声明:文章不是原创,不过感觉写的很好。转http://blog.youkuaiyun.com/qinjuning 本文主要内容是讲解一个视图View或者一个ViewGroup对象是如何添加至应用程序窗口中的。 下文中提到的窗口可泛指我们能看到的界面,包括一个Activity呈现的界面(我们可以将之理解为应用程序窗口),一个Dialog,
2015-08-19 13:13:44
296
原创 android之插件式开发
最近公司项目中需求中有展场地图功能,由于地图的地点不确定行,不能马上提前开发好了,我的思路式使用插件式开发,在主程序中留下口子,在需要使用展场地图,在开发一个子的apk,让主程序下载调用。 前面说的就是需求, 我的思路很简单:在主程序中写一个activity专门负责加载子程序中的fragment(子程序的界面都用fragment写), 1,在主界面中写一个listview ,访问网络去去拿li
2015-08-18 15:07:21
416
原创 android线程池简介
线程池的基本思想就是一个池的概念,做个比喻就向农村家里的水池一样,你要做饭的的时候在去很远的地方打水,这样肯定不好,在android中我们在使用线程去运行代码的的时候也会有这样的问题,当我们平凡使用线程(频繁你需要创建,销毁线程,这要是相当耗费系统资源的,这个时候我们就要用到线程池,在池中创建一个线程池。里面存放,在是用的时候重里面去拿,这样能节约系统资源 )java中常用的线程池有三种,
2015-06-02 15:06:32
401
原创 面相对象
面相对象特点:1:将复杂的事情简单化。2:面向对象将以前的过程中的执行者,变成了指挥者。3:面向对象这种思想是符合现在人们思考习惯的一种思想。 面向对象是相对于面相过程的,如果用面相过程的思想去设计程序,那么我们要定义好具体的每一步,这样我们面对的是具体的步骤。 随着需求增加,代码增加,我们要面对的步骤也增加了,这样就非常麻烦。这个时候我们
2014-08-10 22:54:36
714
原创 交通管理系统
交通管理系统交通管理系统这道题,用面相对象的思想分析,不怎么难。首先明白车是怎么开的:一个十字路口,4个方向12条路。其中有4条路可以自由转弯(向右转),其余8条路两两对应(即它绿我绿,它红我红)。其实明白4条路(如图1,2,3,4)就好理解了。 用面向对象来分析,这个场景应该有4个对象,分别是:车,路,红绿灯,灯的控制系统。仔细分析发现,车能不能过马路,是
2014-08-10 22:48:17
818
原创 银行业务调度
这道题还是有些难度的,不过一步一步分析,也不那么难理解,本片博客重点说说思路: 需求分析:1、银行内有6个业务窗口, 4个普通窗口,1快速窗口,1个VIP窗口。2、有三种对应类型的客户:VIP客户,普通客户,快速客户。3、VIP客户以及普通客户办理业务所需的时间有最大值和最小值,快速客户办理业务所需时间为最小值,三种客户比例为VIP客户:普通客户 :快速客户 = 1 :6 :3
2014-08-10 22:38:30
531
原创 枚举
枚举(enum)1.为什么要有枚举: 要定义星期几,该怎么定义?假设用1到7分别表示星期一到星期天,但有可能会写成int weekday = 0(只要是int类型的都可以)。枚举就是要让某个类型的变量的取值只能为若干个固定值中的一个,否则,编译器就会报错。枚举可以让编译器在编译时就可以控制源程序中填写的非法值。2特点:(1)让某个类型的变量的取值,只能为固定值
2014-08-09 17:26:05
423
原创 类加载器(classloader):
类加载器(classloader): java类加载器感觉好难,不是很好理解,只能去理解他最基础的部分。 1什么是类加载器 根据名字大慨知道他是加载类的工具,就是把一个java类加载到java虚拟机中。java源文件通过编译,
2014-08-09 17:19:05
347
原创 多线程的理解
多线程技术的理解一.多线程的重点类容:1.创建多线程的方式(两种)。2.线程运行的状态(五种)。3.线程的安全问题。同步代码块,同步函数,lock接口。4.死锁。5.线程通信。6.用executors产生单线程,创建线程池。 进程和线程是什么:一个运动的程序,在内存上分配的空间就是进程(如电脑上任务管理器中的进程)线程就是程序的一个执行控制单元。一个进程中往往偶
2014-08-09 00:39:44
414
原创 反射&JavaBean
反射(reflect)&JavaBean:1.什么是反射?2.有什么特点3.怎么用4.什么时候用1反射是什么: 就是能把一个类,拿进内存中(获取类的内容),想对这个类干什么,就可以干什么(调用里面的方法)。2.特点: 反射其实就是动态加载一个指定的类,并获取该类中的所有的内容。而且将字节码文件封装成对象,并将字节码
2014-08-08 23:00:57
373
原创 网络编程
网络编程: 网络编程的本质是两个设备之间的数据交换,在计算机网络中,设备主要指计算机。 网络通信有三要素: (1)ip地址:InetAddress(网络中设备的标识) (2)端口地址:标识进程的逻辑地址,有效端口:0~65535,其中0~1024系统使用或保留端口。 (3)传输协议:UDP.TCP
2014-08-08 18:51:41
296
原创 File类理解
File类 File类一般和流一起使用,流操作数据,file类操作文件和文件夹。它将文件和文件夹封装成类,提供一些方法,如下:一.基础1.创建 booleancreateNewFile():在指定位置创建文件,如果该文件已经存在,则不创建,返回false 和写入流不一样,写入流创建文件会覆盖已经存在的文件。案例 : File f=newFile("a.tx
2014-08-08 18:42:43
362
原创 io基础理解
IO流:一io基础理解: 可以在设备上搬运数据的流对象,相对于内存而言,(可以把io理解为内存公司请的搬运工)硬盘上存储的是二进制,8个2进制为一个字节。 搬进内存的流:inputstream(读) 搬出内存的流:outputstream(写)每个国家都有自己使用的语言,和使用的字符。每个国家都有他们使用的字符和2进制字节对应关系的编码表,将编码表和字节流封装
2014-08-08 11:26:21
462
原创 集合的理解
集合: 是什么?存数据的,以对象的形式存数据,所有存放的都是对象。 数组也是存数据的,有什么区别啊?1. 数组的长度是固定的,集合的长度是可变的。2. 数组可是存放基本数据类型和对象(应用数据类型),而集合只能存储对象。3. 从存放的数据类型上,集合可以存多种对象,而数组只能存同一种。 集合的体系: 集合就像容器:容器有很多种
2014-08-07 10:51:43
435
原创 Java 代理与动态代理
Java代理&动态代理Java中得代理可以理解为中介,客户端和目标类的中介。 代理: 客户端--(通过)--代理类方法---(调用)---目标方法。 在代理类调用目标方法前后可以添加一些系统方法。 特点:代理类和目标类实现相同得接口。为什么?实现了相同接口, 那么代理类中得方法和目标内得方法相同,方便调用目
2014-08-04 17:47:25
289
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人