Quibbler

Quibbler

站长

加入于 2019-10-06

不忘初心的阿甘

598

文章

41

评论

TA 的文章(580)

再见!修罗开源论坛
分享

再见!修罗开源论坛

再见!修罗开源论坛好多天没看,今天打开Xiuno主站(bbs.xiuno.com),没想到弹出几个字让我感到震惊,作者关闭了修罗论坛主站,不再提供维护更新,非常可惜。19年国庆在家,思考应该规划技术的成长。记录积累的点点滴滴,以后也方便温度而知新。于是准备搭建一个博客,挑选了很多博客、论坛的框架作为模板(ROCBOSS、youBBS、Flarum中文、ThinkSAAS等)。最后选定Xiuno,因

2.0k
Android

源码理解apply()与commit()的区别

源码理解apply()与commit()的区别为什么SharedPreference保存数据首选apply()?commit()和apply()有什么区别?①commit()是同步的:将数据直接写入存储;apply()是异步的,先将修改提交到内存不会阻塞,之后再写入存储。②commit()有返回值标识是否成功写入;而apply()没有返回值。现在来看看源码到底是如何实现apply()和commit

1.9k
Android

理解WindowManager

理解WindowManagerWindowManager类顾名思义就是用来管理Window类。Window在另外一篇有探究理解Window。1、WindowManagerWindowManager也是接口,继承自ViewManager接口,它的实现类是WindowManagerImpl。都在android.view包中。1.1、ViewManagerViewManager接口中只定义了三个接口方法

2.3k
理解Window
Android

理解Window

理解Window什么是Window?从Activity的组成结构一文中我们了解到:每个Activity都包含一个Window。1、Window什么是Window?简单来说就是窗口,对其中的View进行管理。那么Window和Activity又有什么关系?现在来梳理并了解一下它们之间的关系。1.1、Window是抽象类Android中能看见的(比如:Activity、Dialog、Toast等)都是

1.9k
经典笔记本:eDiary
分享

经典笔记本:eDiary

经典笔记本:eDiary工作之后会越来越感觉到:好记性不如烂笔头。琐事太多,每天琐事缠身,大脑多任务“切换”容易丢失“上下文”造成失误。需要将代办事情分类记下,逐个按优先级处理(还有可能被“中断”)。以前一直用的是Windows系统自带的便签小程序,非常方便,随手打开记事,按颜色分类,小巧轻便。直到用了eDiary笔记本,这款诞生于1999年的个人软件简直业界良心,至今免费。作者已在这款软件上倾注

2.3k
Android

AMS服务的启动

AMS服务的启动Android开发是不是经常听说过AMS,什么是AMS?其实指的就是ActivityManagerService和一些关联的类,对系统运行时的Activity进行管理。以Android Q的源码开始阅读,了解AMS的启动过程,会发现不再由ActivityManagerService,而是由重构之后ActivityTaskManagerService类来启动管理Activity。1、

2.4k
Android

如何获取全局Context?

如何获取全局Context?开发过程中经常会用到Context,但是如果不在Activity或者Service,比如在Presenter层有时就无法获取到Context,非常棘手。有办法!定义全局应用唯一的一个静态Application Context,虽然是静态的,但是生命周期和应用一样,不存在内存泄漏。1、自定义Application定义静态的Context变量,重写onCreate()方法,

1.8k
各种Context及其初始化流程
Android

各种Context及其初始化流程

各种Context及其初始化流程Context在Android开发中实在是太重要的,用到的地方数不胜数。开发过程中没有Context是万万不能的,给人感觉Context简直是“万能”的。因为总有一些地方会用到Context,可以通过传参的方式传入;但是有些又没法通过传参传入,这时候可以使用全局ApplicationContext的方式获取到一个Context(见《如何获取全局Context?》)。

2.6k
Android

Binder线程池的启动

Binder线程池的启动Binder线程池在Android是一个非常重要的技术,访问其它应用ContentProvider的,应用进程和系统服务之间的通信等操作在服务端是运行在Binder线程池中的。Binder线程池是一个比较底层的概念,关于Binder的代码在native层中:../frameworks/native/libs/binder接着APP进程的启动(见:APP进程启动流程),在Zy

2.3k
Maven离线依赖库
开源

Maven离线依赖库

Maven离线依赖库AndroidStudio使用Gradle构建项目,但是最近Gradle频繁出现下载依赖失败,各种404/403网络异常,即便使用国内阿里的镜像仓库也无济于事(参考依赖库下载慢的解决办法)。这几天不知道什么情况,突然project编译不了,gradle一直显示在download,等了很长时间之后最后还是失败。解决问题三件法宝都用上了:重启、卸载重装、清除缓存。不就是网络不能访问

2.1k