1.mContext.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);当前view所在的wind...
1.mContext.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);当前view所在的wind...
前言 Flutter推出来已经有一段时间了,前一阵Google IO大会后发布了Beta3。基于Flutter的 app可以一次编写,同时在Android和iOS平台上跑,并...
JSBrige系列直通车,由浅入深理解JS-Native的通信过程:JSbridge系列解析(一):JS-Native调用方法JSbridge系列解析(二):lzyzsd/J...
JSBrige系列直通车,由浅入深理解JS-Native的通信过程:JSbridge系列解析(一):JS-Native调用方法JSbridge系列解析(二):lzyzsd/J...
牛逼,和你采的一模一样的坑,尤其是application 引用libraby
ButterKnife最新版本使用的深坑ButterKnife现在最新10.1.0版本,先说下我现在的环境。AS版本:3.3.2,Gradle版本:4.10.1,buildToolsVersion版本:28.0.3...
ButterKnife现在最新10.1.0版本,先说下我现在的环境。AS版本:3.3.2,Gradle版本:4.10.1,buildToolsVersion版本:28.0.3...
项目中有一个IM模块,是使用了WebSocket来做的,特此记录一下。 WebSocket的框架有很多,了解到OkHttp3也有支持WebSocket,就采用了Okhttp来...
什么是Tangram Tangram不仅仅是一个Native(iOS & Android)的界面开发框架,而是我们从日常工作中沉淀出的一套界面解决方案,涵盖了Native S...
前言 上篇文章Android开发者的Flutter入门(一)讲解了用Flutter开发一个简单的新闻app的大体流程以及主要功能的实现。其中略过了一些功能的实现细节。这篇文章...
liveData使用 使用1 先注册监听,然后postValue 使用2 (不建议使用) 先postValue,然后注册监听。应用场景,ActivityA --->Activ...
我们在工作中或多或少都使用过线程池,但是为什么要使用线程池呢?从他的名字中我们就应该知道,线程池使用了一种池化技术,和很多其他池化技术一样,都是为了更高效的利用资源,例如链接...
前面讲到View与WindowManager与ViewRootImpl中只讲到了ViewRootImpl是如何触发View的绘制的,但ViewRootImpl的功能可不只是绘...
Android完成 最后 installd fork的进程 是什么,有什么用
Android Apk安装过程分析这两天在看Android65535方法数的解决方法,遇到了些Apk安装过程的疑惑,于是决定好好学习下Android Apk安装过程,特此记录。本文以Android5.0的源码...
技术不止,文章有料,加 JiuXinDev 入群,Android 搬砖路上不孤单 前言 相信很多同学都会有这样的感受,前三天刚刚复习的知识点,今天问的时候怎么就讲不出个所以然...
写的很棒,解决了我的所有疑问
Android中的View加载流程(从源码角度分析)Android开发者都知道要想建立一个页面,最普遍常见的做法就是新建一个Activity,并且在res/layout中新建一个Layout布局,然后Activity继承自Ac...
Android开发者都知道要想建立一个页面,最普遍常见的做法就是新建一个Activity,并且在res/layout中新建一个Layout布局,然后Activity继承自Ac...