自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 文件二次上传提示 Caused by: java.net.SocketException: Socket closed

首先不支持断点续传取消后isUploading是false,不再上传文件再次上传启动新的上传task,但是就会报错不单单是在次上传,只要第一次取消了上传,下一次的任何请求都会报错header里加上“Connection” = “close”,试过了,不好使(其他人的解决方式) @Override public void writeTo(BufferedSink sink) throws IOException { Source source = null; .

2022-05-17 22:33:50 1633 3

原创 所有面试经历

Activity启动流程Activity + Fragment 生命周期Activty的销毁是什么概念,ondestroy调用之后对象是否还存在广播的使用以及种类?发出:有序(可拦截可修改),无序(不可拦截,不可修改),本地(app内部传播localbroadcastManager.sendBroadcast)接受:动态(新建一个类,继承BroadcastReceiver),静态(在An...

2021-01-15 21:38:15 305

原创 Android -- 优化

内存优化(内存泄露,内存抖动,内存溢出)内存泄露 memory leak原因:没有回收资源一个程序中,已经不需要使用某个对象,但是因为仍然有引用指向它,垃圾回收器就无法回收它,当该对象占用的内存无法被回收时,就容易造成内存泄露。多个内存泄漏最终会导致内存溢出,即OOM。memory leak会最终会导致out of memory!解决办法:在不需要的时候及时释放掉资源handlers...

2020-03-19 16:18:24 193

原创 Android -- 动画

View动画使用view动画有缩放、旋转、平移、透明度等,都是继承于Animation类。我们掌握了一个类型的原理其他原理基本一致。都是通过Transformation 和 Matrix 实现各种各样炫酷的动画。View树里不管哪个view发起了布局、绘制请求,都会到顶部的ViewRootImpl里的scheduleTraversals开始,然后在最近的一个屏幕信号到了,通过ViewRootI...

2020-03-14 18:54:20 163

原创 Android -- 插件化

https://blog.csdn.net/u012999651/article/details/93881387?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522158358987219724845019572%2522%252C%2522scm%2522%253A%252220140713.130056874…%2522%257...

2020-03-09 13:08:34 166

原创 Android -- Binder 机制,AIDL

BinderBinder是Android系统中的一种IPC进程间通信结构。Binder的整个设计是C/S结构,客户端进程通过获取服务端进程的代理,并通过向这个代理接口方法中读写数据来完成进程间的数据通信。2个方面的原因1.安全:每个进程都会被Android系统分配UID(User ID 系统自动发放)和PID(进程ID),不像传统的在数据里加入UID,这就让那些恶意进程无法直接和其他进程通...

2020-03-08 23:49:43 167

原创 Android -- JVM,DVM,ART虚拟机

Java虚拟机–JVM,类加载器,双亲委派https://www.iteye.com/blog/welcome66-22165721、JVM(Java Virtual Machine),java虚拟机JVM就是虚拟出来的计算机,有自己完善的架构,处理器,堆栈,寄存器,指令系统。使用jvm就是为了支持与操作系统无关,java跨平台的原理,因为java代码都在这上运行,.java文件通过java...

2020-03-08 18:19:29 247

原创 Android -- MVP,MVC,MVVM

MVCModle–Controller–ViewView可以直接控制ModleMVPModle–Presenter–View间接交互View不直接与Model交互,而是通过与Presenter交互来与Model间接交互。Presenter与View的交互是通过接口来进行的。通常View与Presenter是一对一的,但复杂的View可能绑定多个Presenter来处理逻辑。...

2020-03-05 13:42:30 107

原创 Java -- Serializable序列化 与 Parcelable序列化 反序列化

Serializable序列化操作什么情况下需要序列化a)当你想把的内存中的对象写入到硬盘的时候;b)当你想用套接字在网络上传送对象的时候;c)当你想通过RMI传输对象的时候;实现了Serializable接口的类可以被ObjectOutputStream转换为字节流,同时也可以通过ObjectInputStream再将其解析为对象。(序列化:-序列化是为了保持对象在内存中的状态,并...

2020-03-04 00:22:53 307

原创 Android -- 事件的传递机制

点击事件:touch事件的传递流程联系copy/move的动画以及上下移动事件dispatchTouchEvent(分发): Touch事件的入口方法 ,返回true是消费,返回false是返回给上级的onTouchEvent处理,Activity返回super是不处理传给子View,ViewGrop返回super是不处理给自身onInterceptTouchEvent拦截,View返回...

2020-03-03 23:54:44 201

原创 Android -- View , 自定义View,ListView,RecyclerView,ViewStub

根部:Android framework 处理是从根节点开始,对布局进行measure和draw ,整个View树的绘制流程在ViewRoot.java类的performTraversals()函数展开performTraversals:1.是否需要重新计算视图大小measure,2.是否需要重新安置视图的位置layout,3.是否需要重新绘制draw(measure测量)大小 --&g...

2020-03-02 21:04:09 442

原创 Android -- OKHttp,XML,JSON

1.导包,manifest加网络权限build.gradecompile 'com.squareup.okhttp3:okhttp:3.8.0'compile 'com.squareup.okio:okio:1.12.0'manifest.xml<uses-permission android:name="android.permission.INTERNET"/>2....

2020-02-29 21:47:23 404

原创 Android -- Service

**Android Service **3.1 运行环境Service和其他组件一样,都是运行在主线程中,因此不能用它来做耗时的请求或者动作。你可以在服务中开一个线程,在线程中做耗时动作。3.2 IntentServiceIntentService是Service类的子类,用来处理异步请求。客户端通过startService(Intent)方法传递请求给IntentService,Int...

2020-02-27 12:19:11 137

原创 Android -- 基础

目录一我做了什么? 2二Java面试基础 2Java 8种数据类型大小 2三Android面试基础 2主线程与子线程之间相互通信 2Handler 3单例模式 3AsyncTask,即异步任务 4内存溢出(oom)和内存泄漏(leak)区别和关联 5Android Service服务 5多线程如何解决死锁 5线程同步 6一,什么是线程同步和互斥 6线程相关的知识点 6...

2020-02-27 11:12:48 435

原创 Android -- Handler机制

主线程发送消息给子线程, 在主线程中实例化一个Handler,然后让他与子线程相关联(只要它与子线程的Looper相关联即可),这样子它处理的消息就是该子线程中的消息队列,而处理的逻辑都是在该子线程中执行的,不会占用主线程的时间。当主线程中有耗时的操作时,需要在子线程中完成,通常我们就把这个逻辑放在HandlerThread的对象中执行(该对象就是一个子线程),然后在需要开始执行逻辑的地方发送一...

2020-02-21 12:27:46 168

原创 Android -- 线程池

在系统中创建大量的线程主要带来的影响如下 :线程的创建和销毁都需要时间,当有大量的线程创建和销毁时,那么这些时间的消耗则比较明显,将导致性能上的缺失大量的线程创建、执行和销毁是非常耗cpu和内存的,这样将直接影响系统的吞吐量,导致性能急剧下降,如果内存资源占用的比较多,还很可能造成OOM大量的线程的创建和销毁很容易导致GC频繁的执行,从而发生内存抖动现象,而发生了内存抖动,对于移动端来说,最...

2020-02-20 10:27:28 115

原创 Java -- 普通类,抽象类与接口

不能继承的情况1.final类,2.匿名内部类抽象类(abstract class) 与接口 (interface)

2020-02-19 13:47:02 232

原创 Java -- 多态

转自https://blog.csdn.net/The_Best_Hacker/article/details/89076108?ops_request_misc=%7B%22request%5Fid%22%3A%22158188301919724811860352%22%2C%22scm%22%3A%2220140713.130056874…%22%7D&request_id=1581...

2020-02-18 17:41:07 102

原创 Java -- 异常处理机制,final,finally和finalize

什么是异常(Throwable)?运行时出现的非正常现象性质分类错误(error)和异常(Exception)都继承Throwable区别:Error 不可控,系统错误,或底层资源错误,系统级别捕捉Exception 可能可控,程序员导致的错误,程序级别处理Error常见Error...

2020-02-15 16:04:37 807

原创 JAVA基础

Java面试基础Java 8种数据类型大小1byte = 8 bit基本类型大小(字节)取值范围装箱基本类型byte(整)1-2^7 ~ 2^7-1Byteboolean(布尔)1true ~ falseBooleanshort(整)2-2^15 ~ 2^15-1Shortchar(字符)2Characterfl...

2020-02-11 00:37:15 299

原创 小技巧,杂乱的功能

这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...

2018-12-03 17:52:54 169

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除