- 博客(18)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
转载 如何学习Android系统源码
参考资料Android系统的源代码非常庞大和复杂,我们不能贸然进入,否则很容易在里面迷入方向,进而失去研究它的信心。我们应该在分析它的源代码之前学习好一些理论知识,下面就介绍一些与Android系统相关的资料。我们知道,Android系统是基于Linux内核来开发的,在分析它在运行时库层的源代码时,我们会经常碰到诸如管道(pipe)、套接字(socket)和虚拟文件系统(VFS)等
2016-03-24 11:09:12 10466 2
原创 Android SparseArray浅析
SparseArray 系数数组SparseArrays map integers to Objects. Unlike a normal array of Objects, there can be gaps in the indices. It is intended to be more memory efficient than using a HashMap to map Integers
2016-03-23 14:29:48 526 1
原创 Java中的WeakReference
java语言中为对象的引用分为了四个级别,分别为 强引用 、软引用、弱引用、虚引用。强引用(StrongReference)强引用是使用最普遍的引用。如果一个对象具有强引用,那垃圾回收器绝不会回收它。当内存空间不足,Java虚拟机宁愿抛出OutOfMemoryError错误,使程序异常终止,也不会靠随意回收具有强引用的对象来解决内存不足的问题。 ps:强引用其实也就是我们平时A a = new
2016-03-22 16:21:00 466 1
原创 Android源码 · IBinder
package android.os;import java.io.FileDescriptor;/** * IBinder是一个远程处理对象的基本接口,是单进程和跨进程调用时,高性能的的轻量级的远程调用机制的核心部 * 分。此接口描述与对象进行交互的抽象协议。不能直接实现这个接口,而是继承Binder。 * * Base interface for a remotable object,
2016-03-21 18:46:05 716 1
转载 给 Android 开发者的 RxJava 详解
这篇文章的目的有两个:给对 RxJava 感兴趣的人一些入门的指引给正在使用 RxJava 但仍然心存疑惑的人一些更深入的解析RxJava 到底是什么RxJava 好在哪API 介绍和原理简析1. 概念:扩展的观察者模式观察者模式RxJava 的观察者模式2. 基本实现1) 创建 Observer2) 创建 Observable3) Subscrib
2016-03-15 22:22:17 633
原创 LinearLayout布局的Layout_weight
只有在Linearlayout中,Layout_weight属性才有效。之所以android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。一 · warp_content先看一下布局<?xml version="1.0" encoding="utf-8"?>
2016-03-15 22:14:02 325
转载 《深入理解Java虚拟机》
在C里面我们想执行一段自己编写的机器指令的方法大概如下:typedef void(*FUNC)(int);char* str = "your code";FUNC f = (FUNC)str;(*f)(0); 也就是说,我们完全可以做一个工具,从一个文件中读入指令,然后将这些指令运行起来。
2016-03-11 10:19:31 716
转载 深入浅出RxJava四-在Android中使用响应式编程
RxAndroidRxAndroid是RxJava的一个针对Android平台的扩展。它包含了一些能够简化Android开发的工具。首先,AndroidSchedulers提供了针对Android的线程系统的调度器。需要在UI线程中运行某些代码?很简单,只需要使用AndroidSchedulers.mainThread():retrofitService
2016-03-09 16:11:01 367
转载 深入浅出RxJava三--响应式的好处
错误处理到目前为止,我们都没怎么介绍onComplete()和onError()函数。这两个函数用来通知订阅者,被观察的对象将停止发送数据以及为什么停止(成功的完成或者出错了)。下面的代码展示了怎么使用这两个函数:Observable.just("Hello, world!") .map(s -> potentialException(s)) .ma
2016-03-09 16:06:32 319
转载 深入浅出RxJava(二:操作符)
准备工作假设我有这样一个方法:这个方法根据输入的字符串返回一个网站的url列表(啊哈,搜索引擎)[java] view plain copyObservable> query(String text); 现在我希望构建一个健壮系统,它可以查询字符串并且显示结果。根据上一篇blog的内容,我们可能会写出下面的代码:[
2016-03-09 16:03:48 343
转载 深入浅出RxJava(一:基础篇)
RxJava正在Android开发者中变的越来越流行。唯一的问题就是上手不容易,尤其是大部分人之前都是使用命令式编程语言。但是一旦你弄明白了,你就会发现RxJava真是太棒了。这里仅仅是帮助你了解RxJava,整个系列共有四篇文章,希望你看完这四篇文章之后能够了解RxJava背后的思想,并且喜欢上RxJava。基础RxJava最核心的两个东西是Observabl
2016-03-09 15:58:05 384
原创 LinearLayout布局的Layout_weight
只有在Linearlayout中,Layout_weight属性才有效。之所以android:layout_weight会引起争议,是因为在设置该属性的同时,设置android:layout_width为wrap_content和match_parent会造成两种截然相反的效果。一 · warp_content先看一下布局<?xml version="1.0" encoding="utf-8"?>
2016-03-09 15:45:40 490
原创 adb基本命令和Logcat基本命令
adbadb简介:ADB (Android Debug Bridge),通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。 adb有什么用?:借助
2016-03-05 16:52:02 1352
转载 ADB基本命令
ADB (Android Debug Bridge)说明:下面一些命令需要有root权限才能执行成功快速启动dos窗口执行adb:1. adb.exe所在路径添加到系统环境变量中2. 配置快捷键启动dos进入C:\WINDOWS\system32目录下,找到cmd.exe.右击菜单 "发送到" -> 桌面快捷方式。在桌面上右击"快捷方式 到 cmd.exe" ->
2016-03-05 15:59:52 8854 2
原创 浅析“高内聚,低耦合”
面向对象的基本原则:多聚合,少继承;高内聚,低耦合多聚合聚合,是指多个元素在一起使用,组成新的元素;在Java中有“组合类”一说:一个类是由其他的类组合而成的,因此新组成的类就拥有了其组合类的属性和方法。少继承继承,是指一个类继承自另一个类,新的类就可以使用(或重写或增加)被继承类的方法;Java的继承关键字 extends ,Java遵循单一继承原则,一个类只能继承一个类,但是可以实现多个接口;关
2016-03-02 22:11:09 4148
原创 一种更清晰的Android架构
* 原文链接 : Architecting Android…The clean way? * 译者 : Mr.Simple & Sophie.Ping入门指南大家都知道要写一款精品软件是有难度且很复杂的:不仅要满足特定要求,而且软件还必须具有稳健性,可维护、可测试性强,并且能够灵活适应各种发展与变化。这时候,“清晰架构”就应运而生了,这一架构在开发任何软件应用的时候用起来非常顺
2016-03-02 21:37:47 376
原创 Long和long的区别
Java数据类型分为两类:基本数据类型(primitive types)引用数据类型(reference types)Long叫 long的包装类。Integer、Byte和Float也类似,一般包装类的名字首写是数值名的大写开头。在java中有时候的运算必须是两个类对象之间进行的,不充许对象与数字之间进行运算。所以需要有一个对象,这个对象把数字进行了一下包装,这样这个对象就可以和另一个对象进
2016-03-01 21:38:42 609
转载 Java基本数据类型
Java语言是静态类型的(statical typed),也就是说所有变量和表达式的类型再编译时就已经完全确定。由于是statical typed,导致Java语言也是强类型(Strong typed)的。强类型意味着每个变量都具有一种类型,每个表达式具有一种类型,并且每种类型都是严格定义的,类型限制了变量可以hold哪些值,表达式最终产生什么值。同时限制了这些值可以进行的操作类型以及操作的具体方
2016-03-01 20:55:18 445
PopupWindow遮罩层
2016-02-18
开发人员基本理论知识
2015-10-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人