![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
文章平均质量分 57
人生恍如初梦
这个作者很懒,什么都没留下…
展开
-
Okhttp3版本升级后出现的未response.close()的问题
错误:java.lang.IllegalStateException: cannot make a new request because the previous response is still open: please call response.close()解决:在自己自定义的拦截器中添加response.close()即可感谢:https://blog.csdn.net/ysy950803/article/details/101058070的分享...原创 2021-06-18 11:16:39 · 3261 阅读 · 0 评论 -
android studio 调用方法的时候 补全出来的方法少右边括号的解决方法
android studio 调用方法的时候 补全出来的方法少右边括号打开Android Studio的PreferencesEditor下的General,然后点击Smart Keys勾选Insert paired brackets就可以解决了原创 2021-06-01 10:48:41 · 648 阅读 · 1 评论 -
插件化-占位式插件化
插件化-占位式插件化Android中的插件化,即将业务解耦封装为一个单独的插件,根据不同的业务需求,进行不同的组合,动态进行替换,并可对插件进行管理、更新,后期对插件也可进行版本管理等操作。插件化主要概念宿主:即需要提供运行环境的apk,也就是我们安装在手机上的应用程序。插件:即独立的功能封装成的小apk,无法直接运行,需要依赖于宿主环境,否则无法运行。用于动态更新内容。标准:提供给插件使用的我们定义的标准库,用于宿主和插件之间的环境交互。宿主宿主中应提供ProxyActivity类,为帮原创 2021-04-19 17:33:17 · 112 阅读 · 0 评论 -
ARouter路由–组件间跳转
ARouter路由–组件间跳转ARouter使用的是APT(Annotation Processing Tool)注解处理器,通过给对应的类添加注解,在编译器动态生成对应的路由表文件。基本结构arouter-annotation 注解类所在库,包括Route(作用于类之上,具体支持的类型在RouteType的enum中)、Autowired(作用于属性之上,用于跳转间的传值注解)、Interceptor(作用于类之上,拦截器注解)。arouter-compiler 注解处理库,处理arouter-原创 2021-04-10 11:24:44 · 489 阅读 · 2 评论 -
Handler源码分析
Handler源码分析Activity启动时的Looper当程序运行时,会先执行ActivityThread的main方法。会执行Looper.prepareMainLooper()方法和Looper.loop()方法。Looper.prepareMainLooper()public static void prepareMainLooper() { prepare(fal...原创 2019-12-19 17:49:19 · 83 阅读 · 0 评论 -
WebView中遇到的部分问题
WebView中遇到的部分问题WebView中遇到的部分问题是否支持javascript及和h5的交互设置webSettings.setJavaScriptEnabled(true)通过webViewFind.addJavascriptInterface(this, "GoHomeWebViewJavascriptBridge");其中GoHomeWebViewJavascriptBri...原创 2019-12-17 17:07:16 · 276 阅读 · 0 评论 -
Android.mk格式
基本格式定义模块当前路径(必须定义在文件开头,只需要定义一次)LOCAL_PATH := $(call my-dir)清空当前环境变量(LOCAL_PATH除外)include $(CLEAR_VARS)当前模块名(这里会生成libhello-jni.so)LOCAL_MODULE := hello-jni当前模块包含的源代码文件LOCAL_SRC_FILES := hello-...原创 2019-11-13 10:18:47 · 157 阅读 · 0 评论 -
gcc编译时出错总结
gcc编译时出错总结编译流程分4步进行预处理 将.cpp文件编译为.igcc -E main.cpp -o main.i编译 将.cpp文件编译为.sgcc -S main.cpp -o main.s汇编 将.s文件编译为.ogcc -c main.s -o main.o链接 将.o文件编译为可执行文件gcc main.o -o maingcc main.o -lstdc+...原创 2019-11-11 19:37:08 · 720 阅读 · 0 评论 -
C++基础
C++基础指针数组和数组指针我们所看到的正常数组类型为:int arr[] = {100,200,300};指针数组而在C++中,我们会有指针数组int* pall[3];,其中存放的就是我们arr数组中的各个值的位置,指向其地址,然后拿到值。for (int i = 0;i < 3;i++) { pall[i] = &arr[i];}其中通过&...原创 2019-11-11 18:49:46 · 85 阅读 · 0 评论 -
Choreographer
ChoreographerChoreographer(编舞者)用来控制同步处理输入(Input)、动画(Animation)、绘制(Draw)三个UI操作。初始化Choreographer在View的绘制流程的WindowManagerGlobal.java类中,addView()方法的root = new ViewRootImpl(view.getContext(), display)进行...原创 2019-10-21 14:55:59 · 414 阅读 · 0 评论 -
UI绘制流程及原理
UI绘制流程及原理setContentView解析installDecor()方法View的绘制流程绘制方法步骤详细绘制performMeasureMeasureSpec测量performLayoutperformDrawsetContentView解析首先,我们的setContentView是在我们的Activity.java类中发现为getWindow().setContentView(l...原创 2019-09-30 17:43:41 · 176 阅读 · 0 评论 -
事件分发机制
事件分发机制事件类型MotionEvent.ACTION_DOWN 手指刚接触屏幕MotionEvent.ACTION_MOVE 手指在屏幕上滑动MotionEvent.ACTION_UP 手指从屏幕上松开MotionEvent.ACTION_CANCEL 非人为因素取消当一次手指触摸屏幕的行为会发出一系列点击事件:1、点击屏幕后立即松开,事件序列为DOWN->UP;2、...原创 2019-10-14 17:16:30 · 220 阅读 · 0 评论 -
Canvas详解
Canvas详解绘制几何图形,文本,位图等在指定坐标绘制位图public void drawBitmap(@NonNull Bitmap bitmap, float left, float top, @Nullable Paint paint) { super.drawBitmap(bitmap, left, top, paint);}根据给定的起始点和结束点绘制连线...原创 2019-10-09 11:06:57 · 172 阅读 · 0 评论