编写AIDL文件时,需要注意: 1.接口名和aidl文件名相同. 2.接口和方法前不用加访问权限修饰符 (public.private.protected等,也不能用final.static). 3.AIDL默认支持的类型包括java基本类型 (int.long.boolean等) 和 (String.List.Map.CharSequence),使用这些类型时不需要import声明.对于List和Map中的元素类型必须是AIDL支持的类型,如果使用自定义类型作为参数或者返回值,自定义类型必须实…
小结: 1. 小文件存储于一个文件中: 在内部,磁盘缓存(disk cache)实现了它自己的一组数据结构, 它们被存储在一个单独的缓存目录里.其中有索引文件(在浏览器启动时加载到内存中),数据文件(存储着实际数据,以及HTTP头以及其它信息).比较有趣 的是,16KB以下的文件存储于共同的数据块文件中(data block-files,即小文件集中存储于一个大文件中),其它较大的文件才会存储到自己专属的文件中.最后,磁盘缓存的淘汰策略是维护一个LRU,通 过比如访问频率和资源的使用时间(age…
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QSharedMemory共享内存实现进程间通讯(IPC)及禁止程序多开     本文地址:http://techieliang.com/2017/12/685/ 文章目录 1. 介绍 2. 范例 3. 禁止程序多开 1. 介绍 很简单的库,直接看帮助文档:http://doc.qt.io/qt-5/qsharedmemory.html 主要函数:设置key,create向系统申请建立一个内…
1.IBinder和Binder是什么鬼? 我们来看看官方文档怎么说: 中文翻译:  IBinder是远程对象的基本接口,是为了高性能而设计的轻量级远程调用机制的核心部分. 但他不仅用于远程调用,也用于进程内调用. 该接口定义了与远程对象间交互的协议.但不要直接实现这个接口,而是继承 extends Binder. IBinder主要的API是transact(),与之对应的API是Binder.onTransact(). 通过前者,你能向远程IBinder对象发送发出调用,后者使你的远程对象能…
Activity aidl接口文件 package com.bqt.aidlservice;  interface IBinderInterface {     /* 更改文件后缀为[.aidl]去掉public等所有修饰符.         更改后,会在gen目录下生成一个同名的.java文件,此java文件中有一个名为[Stub]的内部类,此内部类继承自Binder类且实现了我们这里定义的IBinderInterface接口         此内部类的[asInterface(IBinder…
下面是最简单的Android的消息推送的实现方法 package com.example.shownotic; import java.util.Random; import android.support.v7.app.ActionBarActivity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import androi…
常见的使用Handler线程间通讯: 主线程: Handler handler = new Handler() { @Override public void handleMessage(Message msg) { ... } }; 子线程: Message message = new Message(); message.arg1 = 1; Bundle bundle = new Bundle(); bundle.putString("test", "test"…
示例 aidl接口文件 package com.bqt.aidlservice.aidl; parcelable Person;  package com.bqt.aidlservice.aidl; parcelable Salary;   package com.bqt.aidlservice.aidl; import com.bqt.aidlservice.aidl.Salary;   import com.bqt.aidlservice.aidl.Person; interface IBi…
Linux进程间的通讯 Unix发展做出重大贡献的两大主力AT&T的贝尔实验室及BSD(加州大学伯克利分校的伯克利软件发布中心)在进程间通信方面的侧重点有所不同.前者对Unix早期的进程间通信手段进行了系统的改进和扩充,形成了"system V IPC",通信进程局限在单个计算机内:后者则跳过了该限制,形成了基于套接口(socket)的进程间通信机制.Linux则把两者继承了下来,如图示: 管道 管道的通信介质是文件,这种文件通常称为管道文件,两个进程利用管道文件进行通信时,一…
学习快一个月了,现在学到了黑马Java教程的300集 打印流的特点: 只负责输出数据,不负责读取数据 有自己的特有方法 字节打印流:PrintStream,使用指定的文件名创建新的打印流 import java.io.FileNotFoundException; import java.io.PrintStream; public class Demo { public static void main(String[] args) throws FileNotFoundException {…