一、背景 近期版本上线后收到不少用户反馈(大多是华为用户)崩溃,日志上总体表现为 pthread_create (1040KB stack) failed: XXX。 二、问...
一、背景 近期版本上线后收到不少用户反馈(大多是华为用户)崩溃,日志上总体表现为 pthread_create (1040KB stack) failed: XXX。 二、问...
一、简单使用 具体使用流程和方法说明详见:使用教程[https://juejin.cn/post/6976927346162925581] 简单的代码示例: 二、原理分析 2...
本文主要介绍Retrofit的使用 官网[https://square.github.io/retrofit/] 一、定义 一个类型安全的 HTTP客户端请求框架,适用于An...
一、简介 1.1 定义 给某一个对象提供一个代理,并由代理对象控制对真实对象的访问,代理模式是结构型设计模式的一种 代理模式详解[http://c.biancheng.net...
1 什么是Crash Crash,即闪退,多指在移动设备(如iOS、Android设备)中,在打开应用程序时出现的突然退出中断的情况(类似于Windows的应用程序崩溃)。 ...
是的
Java 泛型通配符上下界理解及应用一.通配符的应用 实践检验真理,所以在说明通配符上下界的理解的时候,先说明下什么时候使用通配符 关于泛型类型通配符的作用是为了代替泛型类的类型实参。 当我们使用泛型类作为参数...
显然虽然Integer是Number的子类,但是List<Integer>并不是List<Number>的子类,所以List<Integer>类型的变量不能直接赋值给List<Number>的变量。这时候通配符就起到作用了List<? extends Number>可以看做是List<Integer>和List<Number>的子类,它可以接收Number类或者其子类型作为类型形参的泛型数据。
这里List<? extends Number>可以看做是List<Integer>和List<Number>的子类,应该是父类吧
混淆(Proguard)用法 最近项目中遇到一些混淆相关的问题,由于之前对proguard了解不多,所以每次都是面向Stackoverflow的编程。copy别人的答案内心还...
So文件混淆 一、 混淆目的 JNI开发过程中利用javah生成本地层对应的函数名类似于java_com_XX这种形式,很容易被逆向者在逆向so的时候在IDA的Exports...
目录介绍 1.为什么要组件化1.1 为什么要组件化1.2 现阶段遇到的问题 2.组件化的概念2.1 什么是组件化2.2 区分模块化与组件化2.3 组件化优势好处2.4 区分组...
Fragment系列文章:1、Fragment全解析系列(一):那些年踩过的坑2、Fragment全解析系列(二):正确的使用姿势3、Fragment之我的解决方案:Frag...
1.OkHttp源码解析(一):OKHttp初阶2 OkHttp源码解析(二):OkHttp连接的"前戏"——HTTP的那些事3 OkHttp源码解析(三):OKHttp中阶...
这段时间老李的新公司要更换网络层,知道现在主流网络层的模式是RxJava+Retrofit+OKHttp,所以老李开始研究这三个项目的源代码,在更换网络层后,开始分享这个三个...
由于项目是接手之前的烂尾项目,经常被吐槽说界面卡半天,后来发现项目里的网络请求,数据库操作都是在主线程。将一些长时间的操作换到多线程或者异步之后后,用户交互是变的顺畅多了,可...