2016年11月14日

摘要: 首先判断instance是不是为null,如果为null,加锁初始化;如果不为null,直接返回instance。 该类的构造方法被private修饰,外部访问者只能通过getSingleton方法获得实例,而不能自己再创建实例,可以保证系统中只有一个实例。 通过一个线程安全的方法来得到一个实例,但 阅读全文
posted @ 2016-11-14 19:47 qkeyar 阅读(107) 评论(0) 推荐(0) 编辑
 
摘要: 面向对象具有封装性,继承性,多态性.封装隐蔽了对象内部不需要暴露的细节,使得内部细节的变动跟外界脱离,只依靠接口进行通信.封装性降低了编程的复杂性. 通过继承,使得新建一个类变得容易,一个类从派生类那里获得其非私有的方法和公用属性的繁琐工作交给了编译器. 而继承和实现接口和运行时的类型绑定机制所产生 阅读全文
posted @ 2016-11-14 19:44 qkeyar 阅读(134) 评论(0) 推荐(0) 编辑
 
摘要: 栈与堆都是Java用来在Ram中存放数据的地方。Java自动管理栈和堆,程序员不能直接地设置栈或堆。 Java的堆是一个运行时数据区,类的对象从中分配空间。这些对象通过new、newarray、anewarray和 multianewarray等指令建立,它们不需要程序代码来显式的释放。堆是由垃圾回 阅读全文
posted @ 2016-11-14 19:42 qkeyar 阅读(127) 评论(0) 推荐(0) 编辑
 
摘要: Android N主要在运行时和图形处理上做了更新。 运行时间上,Android N对编译器进行了优化,软件的运行时间提升了3-6倍。引入了一个全新的JIT编译器,使得App安装速度快了75%,编译代码的规模减少了50%。 图形处理方面,N加入了一个新的图形工具Vulkan,可以帮助游戏的视觉体验更 阅读全文
posted @ 2016-11-14 19:38 qkeyar 阅读(166) 评论(0) 推荐(0) 编辑
 
摘要: 1. Android签名机制及原理 Android系统在安装APK的时候,首先会检验APK的签名,如果发现签名文件不存在或者校验签名失败,则会拒绝安装,所以应用程序在发布之前一定要进行签名。给APK签名可以带来以下好处: 应用程序升级:若包名相同而签名不同,系统会拒绝安装新版应用。 应用程序模块化: 阅读全文
posted @ 2016-11-14 19:36 qkeyar 阅读(1301) 评论(0) 推荐(0) 编辑
 
摘要: Binder在Android系统中江湖地位非常之高。在Zygote孵化出system_server进程后,在system_server进程中出初始化支持整个Android framework的各种各样的Service,而这些Service从大的方向来划分,分为Java层Framework和Nativ 阅读全文
posted @ 2016-11-14 19:33 qkeyar 阅读(174) 评论(0) 推荐(0) 编辑
 
摘要: 我们使用Java开发android,在编译打包APK文件时,会经过以下流程 Dalvik是Google公司自己设计用于Android平台的Java虚拟机。它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式 阅读全文
posted @ 2016-11-14 19:28 qkeyar 阅读(842) 评论(0) 推荐(0) 编辑
 
摘要: C/C++过于底层,开发者要花很多的经历对C/C++的语言研究清楚,例如C/C++的内存机制,如果稍不注意,就会忘了开启或者释放。而Java的GC会自动处理这些,省去了很多的时间让开发者专注于自己的业务。所以才会从C/C++的底层慢慢向上变成了JAVA的开发语言,该层通过JNI和核心运行库层进行交互 阅读全文
posted @ 2016-11-14 19:26 qkeyar 阅读(294) 评论(0) 推荐(0) 编辑
 
摘要: Android的四层架构分别为Linux2.6内核层,核心库层,应用框架层,应用层。Framework层为我们开发应用程序提供了非常多的API,满足我们业务上的需求。(Android是基于Linux内核的,因此属于软实时操作系统) 我们可以称Framework层才真正是Java语言实现的层,在这层里 阅读全文
posted @ 2016-11-14 19:25 qkeyar 阅读(130) 评论(0) 推荐(0) 编辑
 
摘要: Google 2015年 9月28日公告:为了Android开发商可以制作出更加复杂的app和游戏,Google Play游戏包体(APK)大小由原来的50MB提高到100MB。但是针对Android 3.2及以下版本(API 13或更低)的包体限制最高依然是50MB, 对于Android 4.0或 阅读全文
posted @ 2016-11-14 19:25 qkeyar 阅读(192) 评论(0) 推荐(0) 编辑