- 博客(10)
- 收藏
- 关注
原创 Handler、Looper、MessageQueue、ThreadLocal
根据一个简单的Demo,分析一波package com.example.yanlong.aidlclient;import android.os.Bundle;import android.os.Handler;import android.os.Looper;import android.os.Message;import android.support.v7.app.AppC...
2018-01-16 00:43:34 268
原创 线程池及参数 以及 AsyncTask
常用方式一般常用的是第一和第二种,阿里巴巴推荐的是使用带有 ThreadFactory,也就是第二种 或者 第四种源码参数说明/** * Creates a new {@code ThreadPoolExecutor} with the given initial * parameters and default rejected execution handl
2018-01-15 19:33:53 303
原创 3、AIDL传递序列化数据
1、简单的传递数据场景:客户端传递数据 i,j,服务端计算i+j这个具体流程就不贴了,流程可以参考第一篇直接贴代码和结果,这个不是今天要记录的重点。2、传递序列化数据场景:User类,变量 name 和 age,返回 包含 name 和 age 的字符串服务端①、在AIDL包下,新建 User.java,新建User.aidl重点:名称要一样。不一样会报错。...
2018-01-15 14:44:05 1532
原创 2、AIDL中线程问题
AIDL在谷歌官方描述中推荐在 不同应用、多并发任务时使用。在上一篇的基础上,做一些打印和修改。主要修改:getName方法为耗时方法。即为 getName方法增加 Thread.sleep(20000);操作演示1、修改getName为耗时2、打印客户端代码点击TextView,开始进行AIDL连接,在 onServiceConnected 中 使用耗时方法 ge...
2018-01-14 16:54:47 3141
原创 1、AIDL创建流程及简单Demo
如果觉得图片显小,请放大网页,Ctrl + 滚轮AIDL进程间通讯,创建流程如下:1、有个服务端 AIDLService,服务端写好AIDL文件2、有个客户端 AIDLClient,客户端将服务端写好的AIDL所在的包整体复制粘贴过来演示的AIDL功能也很简单,只要客户端 连接 到服务端,服务端就告诉你一个名字。一步一步开始先有服务端,后有客户端服务端1、创建名为 ...
2018-01-14 16:08:59 1087
原创 进程间通信之 -- Messenger
网上关于Messenger的文章很多,但是通俗易懂的少,这里简单介绍一下我的理解。一言以蔽之即:消息Message 可以 绑定 信使Messenger触发流程:A 收到 一个消息Messge,里面有个信使 Messenger_B,那么这时候 A 就可以通过 Messenger_B.send(msg); 将消息msg发给 B,B 内直接回调 Messenger
2018-01-12 18:28:15 283
原创 2、Activity启动模式
Activity 启动模式,熟知的就是 standard、singleTop、singleTask、singleInstance注意点:任务栈 -- 所有Activity继承Application 的任务栈名称,即包名。只有 singleTask 启动模式的Activity 单独设置任务栈名称有意义。任务栈名称不可与包名一致,设置方式为在清单文件。android:taskA
2018-01-11 15:35:06 192
原创 1、Activity 生命周期
异常关闭,重新创建两个方法。onSaveInstanceState(Bundle outState)onRestoreInstanceState(Bundle savedInstanceState)方法名称写的很明确。注意点:1、onSaveInstanceState 和 onPause 调用时机不分前后,但是会在 onStop之前;2、onRestoreInstanceS
2018-01-11 14:46:20 144
原创 第三天:第1章 编程规约 (1.4 OOP规约)
今天看了一看 1.4 OOP规约,这个内容有一些十分值得记录并应用到编程中。推荐看 5 6 8 15 17 201、【强制】避免通过一个类的对象引用访问此类的静态变量或静态方法,造成无谓增加编译器解析成本,直接用类名来访问即可。理解:这里具体原因我不知道,但是我有印象说对象直接访问类属性,编译器会将对象转化为类,然后去访问类属性。这里有了解的同学可以留言评论。2、【强制】所有的
2018-01-10 19:57:53 3181 3
原创 第二天:第1章 编程规约 (1.2 常量定义 、 1.3 代码格式)
1.2 常量定义①:【强制】不允许任何魔法值(即未经预先定一的常量)直接出现在代码中。理解:例如项目中需要在 TextView内展示 “单价 50 元” ,那么如果这样写就不合适,主要还是因为后期修改不方便。 TextView.setText("单价 " + num + " 元");③:不要使用一个常量类维护所有常量,要按常量功能进行归类,分开维护正例
2018-01-05 14:39:25 249
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人