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

Linux epoll机制

阻塞和非阻塞轮询 当缓冲区为空的时候我们需要阻塞起来(线程切换消耗资源),或者不断地进行轮询(消耗CPU)。 缺点 阻塞的缺点是:只能处理一个线程的IO流。 非阻塞轮训可以同时处理多个流,我们只要不停的把所有流从头到尾问一遍,又从头开始。这样就可以处理多个流了,但这样的做法显然不好,因为如果所有...

2018-10-31 01:29:07

阅读数:16

评论数:0

Activity onSaveInstanceState的调用时机

Activity onSaveInstanceState的调用时机 1、调起“最近任务”,然后杀掉 onPause -> onSaveInstanceState -> onStop onPause()是保证执行的;而onDestory则会由于进程被直...

2018-09-26 10:35:56

阅读数:15

评论数:0

Java算术右移和逻辑右移

>> 是算术右移运算符,算术右移左边空位补上符号位 >>> 是逻辑右移,也叫无符号右移,左边空位补0 例: -4 >> 1 = -2 -...

2018-09-12 22:17:13

阅读数:28

评论数:0

01背包问题

背包问题就是:有一堆物品,物品有重量(weight)和价值(value)的属性。求给定背包的容量,最大能容纳的物品总价值。 编号 重量 价值 1 2 3 2 3 4 3 4 5 4 5 6 最大能装的 ...

2018-09-11 23:01:40

阅读数:23

评论数:0

Java内存模型与线程

线程与内存 CPU内存模型: JVM内存模型: Java中线程只能对工作内存进行操作,保证线程中使用到的变量都在工作内存中存在一份拷贝。 Java中的主内存主要对应于Java堆中的对象实例部分,而工作内存则对应于虚拟机栈中的部分区域。 虚拟机可能会让工作内存优先存储与寄存器和高速...

2018-09-10 14:23:47

阅读数:21

评论数:0

【转】Java内存屏障和可见性

Java内存屏障和可见性 引言 在多线程编程中,有的时候会看见如下的代码 public class task{ private boolea...

2018-09-10 12:22:25

阅读数:38

评论数:0

Android Activity的四种启动模式

启动模式 当活动被复用的时候,onNewIntent会被调用。 1.standard 每次开启一个活动都创建一个实例,并且调用生命周期的方法 2. singleTop 栈顶复用模式 如果要开启的活动已经处于任务栈栈顶,就不会创建实例 3. singleTask 检测整个任务...

2018-09-09 21:45:42

阅读数:27

评论数:0

Fragment生命周期和Activity通讯方法

Fragment生命周期 1. Fragment为什么被成为第五大组件 android3.0引入,为了兼容大屏幕。 Fragment有自己的生命周期 可以动态加载到acitivty中 两种加载方式 1)静态加载,通过布局文件 2)动态加载,通过FragmentManager ...

2018-09-09 20:36:57

阅读数:45

评论数:0

自定义控件之侧滑菜单SlidingViewGroup

自定义控件之侧滑菜单SlidingViewGroup 本文主要介绍实现一个侧滑菜单的过程。利用ViewGroup来实现,并且具有强扩展性,用户可以自定义主要内容视图和侧滑菜单视图,并妥善处理了父View跟子View的滑动冲突问题。 灵感来源与需求 灵感主要来自TIM的聊天信息的滑动菜单:...

2018-08-24 01:00:36

阅读数:48

评论数:1

Android Toast机制实现原理

Toast的实现原理 通过本文,你将懂得: 1. 为什么调用Toast的子线程需要Looper.prepare() 2. Toast的Window是在哪里创建的 Toast中的IPC通信 在Toast的实现中主要有两类IPC通信: 1. 从Toast通过IPC访问Notificat...

2018-08-21 21:50:16

阅读数:45

评论数:0

【转载】Android 路由框架ARouter最佳实践

转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/76165252 本文出自【赵彦军的博客】 一:什么是路由? 说简单点就是映射页面跳转关系的,当然它也包含跳转相关的一切功能。...

2018-08-21 02:42:08

阅读数:42

评论数:0

IntentService的实现

IntentService 是继承于 Service 并处理异步请求的一个类,在 IntentService 内有一个工作线程来处理耗时操作,启动 IntentService 的方式和启动传统 Service 一样,同时,当任务执行完后,IntentService 会自动停止,而不需要我们去手动...

2018-08-18 13:49:33

阅读数:35

评论数:0

Android中服务和线程的区别

线程 线程始于.start()方法,终止于运行run()方法运行结束或者线程所在进程的结束。 服务 服务始于Context.startService()方法或者bindService()方法,终止于stopService()或unbindService() 一个Service 是...

2018-08-18 13:49:07

阅读数:102

评论数:0

Java并发机制和Java中提供的锁介绍

参考 https://www.cnblogs.com/dolphin0520/p/3920373.html Java中的非阻塞算法 https://blog.csdn.net/lifuxiangcaohui/article/details/8051687 并发中的概念 并发编程中...

2018-08-17 16:12:47

阅读数:38

评论数:0

单例模式(懒汉实现和饿汉实现的区别)

单例模式的作用是使某个类在整个应用中只存在一个实例。单例模式分为懒汉模式和饿汉模式: 饿汉模式 :从第一次主动调用该类开始就创建实例对象,一直到程序死亡。 懒汉模式 :从第一次调用获取实例的方法的时候才创建对象,一直到程序死亡。 饿汉单例模式的实现 public class Sing...

2018-08-17 16:10:42

阅读数:59

评论数:0

【转载】Android组件化方案

版权声明:本文为博主原创文章,欢迎大家转载! 转载请标明出处: http://blog.csdn.net/guiying712/...

2018-08-16 11:02:06

阅读数:45

评论数:0

代理模式和装饰者模式区别

静态代理需要手动实现被代理接口的所有方法,而动态代理通过反射可以自动代理接口的所有方法 静态代理在编译的时候就生成了代理类的class文件;动态代理在运行的时候动态生成代理类 代理模式有很多用途:比如在方法调用前后添加日志;AIDL中就生成了远程接口的代理类,代理类帮助我们实现Binder底层的...

2018-08-16 01:17:50

阅读数:192

评论数:0

侧滑菜单布局DrawLayout与圆形头像

常见错误 NavigationView占了主界面;这是因为没有设置layout_gravity = “start” 使用 1、依赖包 compile 'com.android.support:design:25.3.1' compile 'de.hdodenhof:circlei...

2018-08-16 00:17:07

阅读数:80

评论数:0

利用OkHttp缓存机制实现无网缓存

OkHttp实现缓存 标题字越少,内容含金量越高。 OkHttp实现缓存 需求描述 需求 限制 思路 实现 拦截器 编写请求拦截器 编写响应拦截器 添加到OkHttpClient 效果图 需求描述 需求 在有网的情况下,正常进行网络请求,然后把响应缓存到本地;...

2018-08-15 03:05:21

阅读数:145

评论数:0

Parcel和Serializable的区别

Parcel和Serializable的区别 Parcel 正常主动通过Parcel写入的数据,都是放在malloc分配的堆上的,这里也就没有特别的尺寸限制了。但并不是说对尺寸没要求,因为数据的接收端有要求! 这里Parcel只是对数据的打包类,在面向对象的抽象上,可以将可序列化的对象,fl...

2018-08-14 00:38:13

阅读数:84

评论数:0

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