
Android 杂货店
hai2024
一个安卓通信人。
展开
-
Android ToolBar inflateMenu 不生效
ToolBar inflateMenu 不生效原创 2016-09-09 08:38:58 · 5972 阅读 · 0 评论 -
[Java并发编程实战] 共享对象之可见性
我们已经知道同步代码块和同步方法可以保证以原子的方式执行,其实,同步还有另外一个重要概念:内存可见性。换句话说,我们不仅希望防止某个线程正在使用对象状态而另一个线程同时在修改状态,而且希望确保当一个线程修改了对象的状态后,其他线程能够看到修改后的状态。可见性一个线程对共享变量值的修改,能够及时的被其他线程看到。Java 内存模型(JMM,Java Memory Model)...原创 2018-05-19 00:07:54 · 880 阅读 · 1 评论 -
[Java并发编程实战] 线程安全
要编写线程安全的代码,核心在于对状态的访问操作进行管理,特别是对共享的和可变的状态的访问。共享,表示可以由多个线程同时访问;可变,表示变量的值在其生命周期内可以发生变化。Java 中的主要同步机制是关键字 synchronized,它提供了一种独占的加锁方式。当然,同步还包括 volatile 类型的变量,显示锁以及原子变量。什么是线程安全性在线程安全性的定义中,最核心的概念就是正...原创 2018-05-17 19:51:41 · 261 阅读 · 0 评论 -
Messenger使用介绍
背景Messenger 是安卓实现跨进程通信方式之一,它是基于 message 消息机制的。本质上来讲,它是基于 aidl 机制,只是 Messenger 已经将它封装好,我们使用的时候不必再去写 aidl 文件。然而,Messenger 跨进程通信方式不支持多线程,它一次只处理一个请求,因此在服务端不用考虑线程同步问题,在服务端不存在并发执行的情况。如何使用这种方式呢?原创 2017-04-01 23:51:49 · 3634 阅读 · 0 评论 -
AIDL介绍
本文简单介绍 AIDL 的基本使用,在Android平台上,一个进程通常无法访问另一个进程的内存,所以想要跨进程访问的话,需要将要传递的数据分解为系统可以支持和识别的基本单元,有序的经过进程的边界。因为这个操作十分繁琐,所以Android使用AIDL来解决这个问题。AIDL就是用于生成两个进程间进行进程间通信的(IPC)代码,面向开发简化这个过程。原创 2017-03-25 17:27:35 · 799 阅读 · 0 评论 -
git基本命令
git相关基础指令学习原创 2017-02-26 21:44:25 · 912 阅读 · 0 评论 -
android app开发遇到的一些问题(一)
android app 开发遇到的一些问题原创 2016-06-16 15:04:36 · 3086 阅读 · 0 评论 -
android app开发遇到的一些问题(二)
android 6.0 动态权限原创 2016-07-07 18:57:30 · 1781 阅读 · 0 评论 -
线程池
android 线程池原创 2016-07-29 20:23:39 · 333 阅读 · 0 评论 -
学习笔记
android原创 2016-07-31 12:45:31 · 377 阅读 · 0 评论 -
android 三级缓存 简介
三级缓存简介内存缓存:优先加载,速度最快文件缓存:次之加载,速度次之网络缓存:最次加载,速度最慢,浪费流量原创 2016-08-02 21:12:04 · 4459 阅读 · 2 评论 -
adb not responding,if you like to retry
adb not responding, if you like to retry...原创 2016-08-05 21:18:56 · 587 阅读 · 0 评论 -
[Java并发编程实战] 简介
并发简史在早期不包含操作系统的计算机中,程序都是单一的串行程序,从头至尾只能执行一个程序,并且这个程序访问这个计算机的所有资源。然而,随着技术的发展,操作系统出现了。它使得计算机程序有了进程,线程的概念,每次可以运行多个程序,并且不同的程序都在单独的进程中运行。操作系统为各个独立执行的进程分配各种资源,包括内存,文件句柄,安全证书等。不同进程之间通过系统本身的通信机制来交换数据,如:套接字,信...原创 2018-05-15 19:44:46 · 295 阅读 · 0 评论