04 2018 档案

摘要:一、概述 Messenger 是一种轻量级的 IPC 方案,它的底层实现是 AIDL ,对 AIDL 进行了封装,方便了对它的使用。Messenger 一次只处理一个请求,所以在服务端不用考虑线程同步的问题。下面给出一张 Messenger 的工作原理图来了解一下其工作原理: 根据上面原理图,要通过 阅读全文
posted @ 2018-04-27 19:23 Spiderman.L 阅读(540) 评论(0) 推荐(0)
摘要:一、AIDL 知识储备 1. AIDL 文件支持的数据类型: 基本数据类型 (int , long , char , boolean ,double 等); String 和 CharSequence; List :只支持 ArrayList,里面每个元素都必须能够被 AIDL 支持; Map :只 阅读全文
posted @ 2018-04-26 19:36 Spiderman.L 阅读(667) 评论(0) 推荐(0)
摘要:概述 最近在看Android 的 IPC 机制,想要系统的研究一下,然后就走到了 Binder 这里,发现这个东西真是复杂,查看了一下些文章想要记录下。想要自己写但是发现一篇文章已经写的非常好了,就转过来再加一些自己的东西。《转载文章》 什么是 Binder? Binder是Android系统中进程 阅读全文
posted @ 2018-04-26 15:37 Spiderman.L 阅读(503) 评论(0) 推荐(0)
摘要:一、自定义权限 自定义权限,一般是考虑到应用共享组件时的安全问题。我们知道在四大组件 AndroidManifest 中注册的时候,添加 exported = "true" 这一属性节点,这样就可以使其被其他 App 所调用。但是我们希望只有被允许的App才能调用,这个时候可以考虑使用”自定义权限“ 阅读全文
posted @ 2018-04-24 11:35 Spiderman.L 阅读(6079) 评论(0) 推荐(1)
摘要:在进程间通信时,常会设计开启远程 Service 的情况。开启远程 Service 的方式有两种,一种时显示开启,一种是隐式开启。下面分别来看: 一、隐式开启 服务端:Service 所在 AndroidManifest.xml 中的配置如下,注意 exported = "true" ,为 true 阅读全文
posted @ 2018-04-23 19:12 Spiderman.L 阅读(1811) 评论(0) 推荐(0)
摘要:网上关于事件传递机制的文章也是多得不行了,在想写这篇的意义。写下这篇主要是方便自己,梳理完善自己对事件传递机制的整体认识。还有这篇文章编写方式会先给结论,后作出源码分析,异于源码与结论结合在一起。这样对于回顾这个知识点的时候,可以直接看结论,比较方便。 一、事件传递机制 明确我们分析的对象是 Mot 阅读全文
posted @ 2018-04-21 20:56 Spiderman.L 阅读(811) 评论(0) 推荐(0)
摘要:一、场景 ① 公司中有多个项目,多人开发,开发中的某一模块需要被其他几个项目的模块所依赖,最简单粗暴的方式就是打包成aar或者jar文件逐个拷贝到libs下进行依赖,可是这种方式太过于麻烦,而且需要每次都得更新代码。如果有多个这样的库就更麻烦了。所以根据项目规模和需求,为了加快团队开发效率,搭建一个 阅读全文
posted @ 2018-04-18 13:59 Spiderman.L 阅读(2280) 评论(0) 推荐(0)
摘要:作为开发者,我们都知道在开发过程中遇到耗时操作那是不可避免的,例如网络请求、文件读写、数据库操作等等。Android是单线程模型,这意味着Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。但是Android在UI操作上也做了时间限制, Activity ——> 5s 、Bro 阅读全文
posted @ 2018-04-13 14:45 Spiderman.L 阅读(385) 评论(0) 推荐(0)
摘要:1. Error:java.util.concurrent.ExecutionException: com.android.tools.aapt2.Aapt2Exception: AAPT2 error: check logs for details 解决: 在工程的gradle.propertie 阅读全文
posted @ 2018-04-11 14:18 Spiderman.L 阅读(9953) 评论(0) 推荐(0)
摘要:在研究项目中的一个效果的时候,查找资料过程中发现有人有这么一种需求,就是GridView在实现拖拽排序的基础上,如果是两个GridView之间实现拖拽效果,并要实现数据交互。 一、效果图: 实现这个效果需要考虑的事情: ① 这个UI整体的构建以及事件的传递 ② 如何实现View的共享,穿过边界 二、 阅读全文
posted @ 2018-04-09 17:33 Spiderman.L 阅读(2011) 评论(2) 推荐(0)
摘要:本篇开始总结Android开发中的一些注意事项,提高代码质量(仅供参考): 1. Activity间的数据通信,对于数据量比较大的,避免使用 Intent + Parcelable 的方式,可以考虑 EventBus 等替代方案,以免造成TransactionTooLargeException 。 阅读全文
posted @ 2018-04-02 11:00 Spiderman.L 阅读(199) 评论(0) 推荐(0)