排序:
默认
按更新时间
按访问量

Android系统启动流程(nougat7.1.1_r6)

一.Android启动简介 Android 是一种基于 Linux 的开放源代码软件栈,为广泛的设备和机型而创建。下图所示为 Android 平台的主要组件。 Linux 内核 Android 平台的基础是 Linux 内核。例如,Android Runtime (ART)...

2017-08-16 22:37:52

阅读数:1850

评论数:0

handler消息机制源码级深入全解析

首先我们来看看Handler更新UI线程一般使用首先要进行Handler 申明,复写handleMessage方法( 放在主线程中)private Handler handler = new Handler() { @Override public void hand...

2016-07-16 03:35:11

阅读数:371

评论数:0

java并发编程实战:避免活跃性危险笔记

活跃度失败是一个严重的问题。因为除了短时间的终止应用程序,没有任何机会恢复这种失败。最常见的活跃度失败就是所顺序死锁。应该在设计的时候就避免这个问题。确保多个线程在获得多个锁的时,使用一致的顺序。最好的解决办法就是在程序中使用开放调用。这会大大减少一个线程一次请求多个锁的情况,并且使这样的多重锁请...

2017-12-03 20:39:53

阅读数:113

评论数:0

Try increasing heap size with java option '-Xmx<size>Android 7.0工程之预编译jack服务器

stackoverflowTry increasing heap size with java option ‘-Xmxexport JACK_SERVER_VM_ARGUMENTS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4g...

2017-11-30 14:32:07

阅读数:475

评论数:0

java并发编程实战:取消与关闭笔记

在Java中无法抢占式地停止一个任务的执行,而是通过中断机制实现了一种协作式的方式来取消任务的执行。设置取消标志public class MyTask implements Runnable { private final ArrayList<BigInteger> prime...

2017-11-22 19:15:45

阅读数:66

评论数:0

java并发编程实战:基础构建模块笔记

同步容器类同步容器类包括两个部分:一个是Vector一个是hashtable。 jdk 1.2引入同步包装类。 Collections.sychronizedxxx在利用迭代器foreach运用interator过程中,可能会抛出ConcurrentModificationException。...

2017-11-22 09:24:26

阅读数:52

评论数:0

java并发编程实战:组合对象笔记

设计线程安全的类设计一个线程安全的类要报案下面三个要素: 1. 找出构成对象的状态的所有变量。 - 对象的所有域构成了对象的状态。如果对象的域是基本变量构成,那么这些域构成了对象的全部状态。如果对象的域中引用了其他对象,那么对象的状态也包含其引用对象的域。如ArrayList的状态就包...

2017-11-22 09:23:23

阅读数:54

评论数:0

java并发编程实战:对象的共享笔记

对象的共享

2017-11-22 09:22:22

阅读数:53

评论数:0

java并发编程实战:线程安全性笔记

线程安全性可以在多个线程中调用,并且在线程之间不会出现错误的交互。

2017-11-22 09:18:19

阅读数:185

评论数:2

责任链模式(ChainOfResponsibility )

uml

2017-09-17 20:14:57

阅读数:87

评论数:0

builder模式

定义复杂的构建与表示分离,使得同样的构建过程可以有不同的表示。使用场景 相同方法不同的执行顺序,产生不同的结果。 多个部件或者零件装配到一个对象中,但是产生的运行结果又不相同时候。 产品类型非常复杂,或者产品类中的调用顺序不同产生不同的作用,这个时候使用建造者模式非常合适。 初始化一个对象特别复杂...

2017-09-17 02:18:59

阅读数:103

评论数:0

java:单例模式

双重校验锁public class DCLSingle { private volatile static DCLSingle instance; private DCLSingle(){ } public static DCLSingle getInstance()...

2017-09-14 21:22:43

阅读数:62

评论数:0

C++内联函数

内联函数c++扩展了c语言的函数功能。通过inline关键字用于函数的定义,并在首次调用函数前提供其函数的定义,可以使得C++编译期将该函数视为内联函数。也就是说编译期不是让程序跳到独立的代码片段,以执行函数。而是用相应的代码来替换函数调用。 Google C++编码规范中则规定: 一个较为合...

2017-09-09 19:30:48

阅读数:80

评论数:0

C++namespace(命名空间)

命名空间在C++中,名称(name)可以是符号常量、变量、宏、函数、结构、枚举、类和对象等等。随着项目的增大,名称相互冲突的可能性会增加。使用多个厂商类库时,可能导致名称冲突。标准C++引入了关键字namespace(命名空间/名字空间/名称空间/名域),可以更好地控制标识符的作用域。命名空间类似...

2017-09-05 20:04:40

阅读数:93

评论数:0

JNI开发流程(Windows下)

需要的工具 vs studio2013 ,eclipseJNI(Java Native Interface):Java调用C/C++,C/C++调用Java的一套API编写native方法首先写一个java工程,代码如下:public class JniTest { public nativ...

2017-08-28 22:00:28

阅读数:216

评论数:0

c语言指针

c指针 内存和地址 内存中的位置由每个独一无二的地址标识。 内存中的每一个位置标识一个值。 什么是指针 利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。 把某个变量的地址,称为“指向该变量的指针” 变量的三要素: 变量地址, 变量名字,...

2017-08-27 22:42:18

阅读数:82

评论数:0

c语言结构体与指针

结构体:数据经常以组的形式存在,雇主必须声明了每一位雇员的姓名,年龄和工资。如果这些值存储在一起,访问起来会变得简单一些。如果数据类型不同,我们可以用结构来吧不同类型存储起来。 struct tag{ member-list } variable-list

2017-08-27 22:22:57

阅读数:161

评论数:0

c语言动态内存分配

数组的元素存储于内存连续位置上。当一个数组被声明时,它所需要的内存在编译时期就会被分配。但是,你也可以使用动态内存分配在运行时为他分配内存。我们如何使用动态内存分配以及怎样进行动态内存分配?c语言中的内存区域C语言中内存分为四区: 栈区:由编译器自动分配释放,存放函数的参数,局部变量的值。 堆区:...

2017-08-27 15:53:04

阅读数:177

评论数:0

Android系统中aidl的理解和service的添加

概述 看看官方文档: AIDL(Android 接口定义语言)与您可能使用过的其他 IDL 类似。 您可以利用它定义客户端与服务使用进程间通信 (IPC) 进行相互通信时都认可的编程接口。 在 Android 上,一个进程通常无法访问另一个进程的内存。 尽管如此,进程需要将其对象分解成操作系统...

2017-08-19 13:21:06

阅读数:346

评论数:0

android 拍照相册选择 以及android6.0打开相册失败

用户点击按钮选择拍照或者打开相册选择图片,然后将选中的图片显示在手机上。android6.0后,推出了动态权限管理。android6.0后,对于一些特别敏感的权限,开发者必须在程序中进行声明。在manifest文件中声明已经不好使。拍照和从相册选择图片都是涉及到用户隐私的敏感权限,必须在代码中进行...

2016-11-25 11:39:36

阅读数:700

评论数:0

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