Android笔记
Simple_ R
这个作者很懒,什么都没留下…
展开
-
解开迷惑——Android Context究竟是什么
Android应用开发常会用到context,但是对于初学者来说,context的概念很抽象。那么Context究竟有什么用以及怎么用呢? 首先看SDK对Context下的定义: Interface to global information about an application environment. This is an abstract class whose im原创 2014-11-05 10:39:47 · 708 阅读 · 1 评论 -
Android dependency '..' has different version for the compile (..) and runtime (..) classpath
报错详情 Android dependency '..' has different version for the compile (..) and runtime (..) classpath 解决方式 把 implementation 这个依赖的方式改为 api 然后重新 rebuild 就好了 分析原因 todo ...原创 2019-03-08 10:20:07 · 687 阅读 · 0 评论 -
OutOfMemoryError
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':common:compileDebugJavaWithJavac'. at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(Exe...原创 2019-03-06 14:07:01 · 459 阅读 · 0 评论 -
OkHttp源码分析
本篇只是听视频课的记录,写得比较乱。原创 2019-02-14 13:01:49 · 351 阅读 · 0 评论 -
Android中为什么主线程不会因为Looper.loop()里的死循环卡死?
这是很好的一个问题,涉及的知识有: Process/Thread,Android Binder IPC,Handler/Looper/MessageQueue消息机制,Linux pipe/epoll机制 暂时还没认识那么深入,等准备充分之后,再来码这一篇. https://www.zhihu.com/question/34652589/answer/59578531 消息机制角色: M...原创 2019-01-30 00:21:19 · 378 阅读 · 0 评论 -
Android应用开发常用架构比较
todo... mvp mvvm clean component原创 2018-12-17 12:55:48 · 231 阅读 · 0 评论 -
Android中动态代理模式的应用
欲理解动态代理,可能先了解静态代理更容易理解. 一,静态代理 从静态代理UML图可以看到,主要有三个角色:共同接口,代理对象和被代理对象(真实对象),代理对象和真实对象都继承自共同的接口.同时,代理对象拥有真实对象的引用. //共同的接口 public interface Subject { void operate1(); void operate2(String s...原创 2018-12-06 16:36:18 · 1448 阅读 · 0 评论 -
RxJava Introduction
整理自油管上一个RxJava的视频:https://www.youtube.com/watch?v=XLH2v9deew0&t=1s Tools for async work: AsyncTask, Future, EventBus, Observable RX = Observables + LINQ + Schedulers 1) Represent asynchr...原创 2018-11-28 17:57:51 · 122 阅读 · 0 评论 -
探索Activity启动模式
LifecycleActivity记为A,LifecycleActivity2记为B 一, Standard 略. 二, SingleTop 打开App,启动第一个Activity(A1),看到taskId == 2215 D/PRETTY_LOGGER: │ taskCount == 1 D/PRETTY_LOGGER: │ taskId == 2215 D/PRETTY_LOGGE...原创 2018-11-29 18:56:26 · 174 阅读 · 0 评论 -
两个Activity切换时的生命周期
两个Activity切换时的生命周期: 旧Activity记为ActivityOld,新Activity记为ActivityNew,从旧Activity开启新Activity开始记录: ActivityOld#onPause() ActivityNew#onCreate() ActivityNew#onStart() ActivityNew#onResume() ActivityOld...原创 2018-11-29 15:33:44 · 975 阅读 · 0 评论 -
用实验方法学习View的事件传递机制
我写了一个UI界面,最外层是OuterLinearLayout,内层是InnerLayout,最里层是TargetButton,下面是实验输出的日志: 2018-11-25 22:15:27.288 28703-28703/work.cloud.com.myappcloudwork D/ttt: dispatchTouchEvent in OuterLinearLayout 2018-11-...原创 2018-11-25 22:50:31 · 144 阅读 · 0 评论 -
Android Binder机制学习笔记
Binder机制:拷贝一次,通过open, mmap, ioctl在dev/binder上实现的。 Client, Service, Service Manager三者之间的通信都是基于上面机制。 Service死亡接收通知:Service组件所在的进程可能会意外崩溃,Client在它所引用的Service组件死亡时获得通知。 Binder中的红黑树:在Binder驱动程序中,宿主进程通过一...原创 2018-10-05 18:49:43 · 307 阅读 · 0 评论 -
管理APP内存的最佳实践
管理APP内存的最佳实践在任何软件开发环境中,RAM都是昂贵的资源,对手机设备来说更是如此,因为手机操作系统的物理内存通常都很有限。尽管安卓DVM执行常规的垃圾收集工作,但是这并不是说可以不考虑app何时何处分配和释放内存。为了使垃圾回收器从你的app中回收内存,你需要避免内存泄露(这通常是因为在全局成员中持有对象的引用导致的),并且在合适的时间(比如生命周期方法回调时)释放引用的对象。翻译 2015-12-17 12:12:44 · 937 阅读 · 1 评论 -
杂记
TCP/IP各自职责Socket的本质,Socket与TCP/IP,ServerSocket与SocketIO操作,ServerSocket与Socket建立连接并通过底层IO流进行通信。需要异常处理,使用finally关闭资源CS聊天的实现,Server端读取Client端发送过来的数据,并将数据“广播”给其他客户端,因此Server端用List来保存所有的Socket.跨平台的网络通信程序,使用原创 2015-07-16 17:33:03 · 478 阅读 · 0 评论 -
Android SDK环境变量配置
配置过很多次的JAVA开发的JDK和ANDROID开发的SDK,但每次都是从网上随便拉一篇博客来看,从来没有刻意去记住配置的方法。 今天在看Android Programming: The Big Nerd Ranch Guide这本书时,需要配置一下环境变量,以方便使用tools和platform-tools下面的工具。 找了几篇博客,照着步骤配,搞了半天就是配不成功(我是菜逼,这么弱智的问原创 2015-02-04 15:55:11 · 862 阅读 · 0 评论 -
NestedScrollview 不从顶部显示
从stackoverflow上找到了满意的答案 https://stackoverflow.com/questions/33584187/nestedscrollview-wont-start-from-top 问题页面: 本应该是这样:原创 2019-08-29 17:49:38 · 759 阅读 · 0 评论