Skip to content

Commit 17ef443

Browse files
committed
Merge branch 'master' of github.com:linsir6/Android-Notes
2 parents 18ab811 + ffcd41c commit 17ef443

2 files changed

Lines changed: 33 additions & 7 deletions

File tree

JavaNote/Java相关/Java利用listener实现回调,即观察者模式.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
> java中实现观察者模式有很多种方式,上一篇文章介绍到了,[利用callback的方式实现了回调](http://www.jianshu.com/p/67190bdce647),这篇文章准备介绍的是利用listener实现回调。
22
33
----
4-
#Java回调机制
4+
# Java回调机制
5+
6+
#### 根据实时性划分:
57

6-
####根据实时性划分:
78
- [同步回调](http://www.jianshu.com/p/67190bdce647)
89
- [异步回调](http://www.jianshu.com/p/67190bdce647)
910

10-
####实现方式
11+
#### 实现方式
12+
1113
* [利用匿名内部类即callbck来实现](http://www.jianshu.com/p/67190bdce647)
1214
* 用listener来实现
1315

@@ -44,10 +46,11 @@ public class Test extends AppCompatActivity implements View.OnClickListener {
4446
4547
````
4648

47-
####回调的本质
49+
#### 回调的本质
50+
4851
其实无论哪种方式来实现回调,利用的思想都是观察者模式,即在我们选择订阅之后,当对方做出任何举动的时候会给我们发送一条信息,这样做的好处是省着我们用一个新的线程轮训检测对方的状态,可以节省很多的资源。
4952

50-
####应用的场景
53+
#### 应用的场景
5154

5255
- 如果我们需要将信息一层一层的返回去的时候,正如我下面的例子,那么可能用listener更为适合我们,因为我们可以将这个listener进行传递,在需要查看数据的时候进行回调它。或者当我们有很多事件需要回调的时候,可以实现一个listener然后发送不同的信息,进行区分。这样代码看起来会简洁一些,不会像callback一样,会嵌套很多层,也不会写出很多个callback来。
5356

README.md

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
### Android进阶
4141

42-
42+
- [Android 多进程使用场景](http://blog.csdn.net/qq_27489007/article/details/54377655)
4343
- [Android官网建议代码规范](https://source.android.com/source/code-style#java-language-rules)
4444
- [30多年编码经验总结成10条最佳实践](https://mp.weixin.qq.com/s?__biz=MzIyMjQ0MTU0NA==&mid=2247484524&idx=1&sn=5b2759e6d89f01e61d021545ca7556b9&chksm=e82c3d4bdf5bb45dd77227982931ede8229ee6910829253a57bb905e810c89bd3f0a162786e8&mpshare=1&scene=23&srcid=1023FjKcLWtRlcDpwEeeJnCN#rd)
4545
- [Android中的动画](/AndroidNote/Android进阶/Android中的动画.md)
@@ -122,7 +122,23 @@
122122

123123
[**Java面试相关**](https://github.com/linsir6/JavaNote)
124124

125+
- [Android动态加载技术三个关键问题详解](https://blog.tingyun.com/web/article/detail/166)
126+
- [Android组件化方案](http://blog.csdn.net/guiying712/article/details/55213884)
127+
- [Android插件化系列第(一)篇---Hook技术之Activity的启动过程拦截](https://www.jianshu.com/p/69bfbda302df)
128+
- [Android插件化系列第(二)篇---动态加载技术之apk换肤](https://www.jianshu.com/p/d1c6e67f7889)
129+
- [Android插件化系列第(三)篇---Hook技术之View点击劫持](https://www.jianshu.com/p/dfc6e3989511)
130+
- [Android性能优化之布局优化](https://www.cnblogs.com/hoolay/p/6248514.html)
131+
- [简易断点续传下载器实现](https://www.jianshu.com/p/5b2e22c42467)
132+
- [超详细面试基础题](https://mp.weixin.qq.com/s/YVvV3-RUjbqYo-DYY3E6nA)
133+
- [JVM结构、GC工作机制详解](http://blog.csdn.net/tonytfjing/article/details/44278233)
134+
- [深入理解Activity的生命周期](https://www.jianshu.com/p/fb44584daee3)
135+
- [2017-Android暑期实习生面试经验谈](http://lruheng.com/2017/05/09/2017-Android%E6%9A%91%E6%9C%9F%E5%AE%9E%E4%B9%A0%E7%94%9F%E9%9D%A2%E8%AF%95%E7%BB%8F%E9%AA%8C%E8%B0%88/)
136+
- [深入探讨 Java 类加载器](https://www.ibm.com/developerworks/cn/java/j-lo-classloader/)
137+
- [找到无序数组中最小的K个数](https://www.cnblogs.com/xiaomoxian/archive/2016/02/11/5186762.html)
125138
- [字符编码笔记:ASCII,Unicode和UTF-8](http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.html)
139+
- [Android 消息机制——你真的了解Handler?](http://blog.csdn.net/qian520ao/article/details/78262289?locationNum=2&fps=1)
140+
- [高并发下线程安全的单例模式](http://blog.csdn.net/cselmu9/article/details/51366946)
141+
- [深入源码解析Android中的Handler,Message,MessageQueue,Looper](http://blog.csdn.net/iispring/article/details/47180325)
126142
- [十大基础算法](https://mp.weixin.qq.com/s?__biz=MzI0MjE3OTYwMg==&mid=401441966&idx=1&sn=653fe22c5a7e6c221fbf121124fd18a2&scene=21#wechat_redirect)
127143
- [一套比较好的面试题](http://blog.csdn.net/xhmj12/article/details/54730883)
128144
- [Android中常见面试题](/AndroidNote/Android面试相关/Android中常见面试题.md)
@@ -139,6 +155,13 @@
139155
- [如何终止App的运行](/AndroidNote/Android面试相关/如何终止App的运行.md)
140156
- [如何实现Activity切换的动画](/AndroidNote/Android面试相关/如何实现Activity切换的动画.md)
141157

158+
159+
### 性能优化
160+
161+
- [Android开发性能优化总结(一)](http://blog.csdn.net/gs12software/article/details/51173392)
162+
- [Android开发性能优化总结(二)](http://blog.csdn.net/gs12software/article/details/51234454)
163+
164+
142165
### 开源框架
143166

144167
- [当下流行开源框架总览](/AndroidNote/Android开源框架相关/Android当下最流行的开源框架总结.md)
@@ -300,5 +323,5 @@
300323
- [浅析RPC协议](/网络协议/浅析RPC协议.md)
301324
- [浅析dubbo服务](/网络协议/浅析dubbo服务.md)
302325
- [SSH原理与应用](/网络协议/SSH原理与应用.md)
303-
- [理解OAuth 2.0](http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html
326+
- [理解OAuth 2.0](http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html)
304327
- [OAuth 2和JWT - 如何设计安全的API?](http://blog.csdn.net/ljinddlj/article/details/53108261)

0 commit comments

Comments
 (0)