移动开发
文章平均质量分 92
cike110120
热爱coding,乐于设计。技术的世界永远不会缺乏艺术。在技术的世界里疯狂的自由疯长。
展开
-
Android开发相关简便框架
一、Guava Google的基于java1.6的类库集合的扩展项目,包括collections, caching, primitives support, concurrency libraries, common annotations, string processing, I/O等等. 这些高质量的API可以使你的JAVA代码更加优雅,更加简洁.功能模块:1. 基本工具 [Basic ut转载 2015-06-29 17:31:31 · 510 阅读 · 0 评论 -
zygote进程启动
1.init.cpp —> main()main()方法主要完成一下 6 件事:klog_init() 将log写入到/dev/kmsg中process_kernel_cmdline()解析内核启动参数signal_handler_init()函数设置了信号处理函数property_load_boot_defaults()函数导入了默认环境变量property_init()和s...原创 2019-01-25 11:15:06 · 425 阅读 · 0 评论 -
Android Binder机制的详解
1.Binder机制简介Android Binder是源于Palm的OpenBinder,它为android设备跨进程访问而设计。Binder机制从表现上看可以实现java 和native层的对象实例可以从一个进程访问到另一个进程,从而透明的实现跨进程的调用。调用者感觉不到自己的请求是在另一个进程中完成并返回结果的。在android系统中使用Binder机制最多的是系统服务,这些服务一般运行在特...原创 2019-01-08 21:52:21 · 17970 阅读 · 0 评论 -
通过AIDL和IInterface了解Android的Binder通信机制
关于Binder的IPC的通信方式前前后后好了不少次都没有整理处来思路,所以总是记忆不深刻。正好这次在阅读Android framework中的源码时system_server进程启动了Android系统中重要的服务AMS、WMS、PMS…等都是基于IInterface接口直接实现的,然后在此激发了我再次了解Binder机制的欲望。也只有透彻了解Binder机制才能更容易的分析系统的服务的调用过程...原创 2018-12-29 00:35:38 · 7619 阅读 · 0 评论 -
EventBus3.0源码浅读
EventBus是一个应用于Android和Java的松耦合的“主题/订阅”模式的开源库。它能够依赖几行简单的代码解耦总线通信,删除依赖、提高开发效率。EventBus的基本组成EventBus有三个主要部分: 1. Event事件: 任意类型的类对象都可以; 2. Subscriber 事件订阅者: 事件订阅者具体处理它锁订阅的事件类型的事件的处理。在老版本的EventBus中事件订阅的处理原创 2018-05-09 18:45:16 · 417 阅读 · 0 评论 -
Handler、Looper、ThreadLocal 、Values
1.Looper创建过程Looper主要方法如下: - prepareMainLooper() - prepare() - loop() - Looper(boolean quitAllowed) Looper的创建过程我们就从应用程序的主线程(UI线程)的Looper的创建过程说起。UI进程的创建是在ActivityThread的main()的主方法开始的,代码如下: public原创 2017-11-17 14:35:21 · 396 阅读 · 0 评论 -
Android studio中出现非法字符时的部分解决方法
我将原来在Eclipse中开发的工程搬到了Android studio上来,在运行,编译程序的过程中出现了错误。提示存在非法字符。 后来发现是由于程序代码中有中文字符的出现,问题就出在对中文支持的UTF-8编码上。 utf-8编码分为BOM和非BOM两种格式。有bom头的存储或者字节流,它一定是unicode字符集编码。究竟属于那一种utf-8还是utf-16还是utf-32)可原创 2015-04-01 18:47:58 · 10124 阅读 · 2 评论 -
高效加载图片
学习在保持用户界面(UI)组件响应和避免超过应用内存限制的情况下,使用普通技术处理图片的加载的方法。如果你不注意,图片会快速的消息应用程序与分配的有效内存致使程序因为“java.lang.OutofMemoryError: bitmap size excends VM budget”异常而崩溃。这里有几个在应用程序中加载图片时要注意的原因:移动设备通常有系统资源限制。android设备上简单应用一原创 2016-09-03 16:42:16 · 696 阅读 · 0 评论 -
Zygote进程启动详解
我们都知道Android系统是架构在linux内核之上移动操作系统。在unix系统中所有的进程都是在init进程的子进程,有init进程负责fork创建。所以zygote进程肯定也是init进程fork出来的子进程。关于init进程的启动暂时不谈。 那么Zygote进程作为android 应用程序进程和系统服务进程SystemServer的主进程,那我主要做了哪些工作呢?我们通过源码分析一下。原创 2016-08-09 01:12:52 · 1570 阅读 · 0 评论 -
java并发机制之volatile详解
java并发机制之volatile详解在java的多线程编程中synchronized和volatile使用十分广泛。volatile是一个轻量级的synchronized。它在多核并发编程中可以保证共享变量的“可见性“,在一个线程修改了被volatile修饰的共享变量时可以保证另外一个线程可以读到这个修改后的的值,避免多个变量独到的值内容不同。合适使用volatile 修饰符可以有效避免共享变量多原创 2016-07-07 00:25:18 · 522 阅读 · 0 评论 -
Android 6.0 运行时权限检测
Android 6.0 运行时权限检测Android 6.0之前的系统用户在安装apk文件时会根据app声明的权限声称权限列表,用户只有在同意了申请的权限后才可以继续安装应用。这样就存在了很大的安全隐患。因此在android 6.0后的系统中对权限进行了分级。一种是normal permission,一种是 dangerous permission级别权限。normal permission权限:原创 2016-06-15 01:35:09 · 6343 阅读 · 0 评论 -
Android studio 导入project
Android Studio到现在已经发展到0.8+的版本了,最近也在试着使用它,原因是多方面的,一个毕竟是未来的趋势,二则是github上越来越多的大牛开源项目都是基于Android Studio的,因此会使用Android Studio就成为一件必须的任务。 关于Android Studio的下载和安装,网上一搜一大堆的文章,本文不准备累赘地谈论这些问题,主要说一下如何在A转载 2015-10-28 13:26:13 · 566 阅读 · 0 评论 -
了解 uri, content provide,包括 data android:host,android:scheme
Content Provider这个东西在Android平台上是最常用的共享数据的方法(似乎应用程序之间共享数据也只有这种方法吧,待求证)。虽然常用,但是这个东 西要理解透彻还是要先掌握一些基础的。URI就是Content Provider(简称CP)的基础。我们要标识一个CP,就必须用URI这个东东。这就类似于我们要通过网址来标识某个特定网站,实际上网址URL本身 就是一种URI。URI全称转载 2015-07-13 19:26:52 · 2004 阅读 · 0 评论 -
android系统架构各层的一些介绍
本内容来自豆瓣。 一.android系统架构各层介绍 1. 应用层:应用是用java语言编写的运行在虚拟机上的程序,比如Email客户端,SMS短消息程序,日历等。 2. 应用框架层:这一层是编写Google发布的核心应用时所使用的API框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的结构设计,但是必须要遵守其框架的开发原则。 3. 系统运行库(C转载 2015-06-28 19:47:16 · 1812 阅读 · 0 评论 -
binderService()方法的调用过程
bindService()在绑定Service主要经历一下几个过程:Activity向ActivityManagerService发送一个绑定xxxService组件的进程间的请求。ActivityManagerService在接到请求后检查运行XXXService组件的进程是否处于运行状态,如果没有运行就启动这个进程。在运行XXXService的进程启动后,ActivityManage...原创 2019-01-16 17:14:09 · 2520 阅读 · 0 评论