
源码分析
文章平均质量分 66
q2nAmor
QT/C++、opengl、opencl、音视频
展开
-
Qt for Android(二十) ——Android 用ScheduledFuture替换Timer解决修改系统时间引起定时器挂起的问题
背景 基于上一篇文章,本来做好的NTP对时功能,结果发现一个致命缺陷,将系统时间修改到未来某个时间,然后启动定时器,此时如果再将系统时间改回当前的正确时间,发现定时器挂起了,不运转了。遂查找资料,发现是定时器内部实现的原因。 原因分析 这个问题我们可以简单跟踪下Timer的源码,Timer中有两个重要的对象,一个是TaskQueue,一个是TimerThread。 TaskQueue 是一个队列,里面放的就是我们调用Timer.schedule时传的参数task。TimerThread 是一个线程,继承原创 2021-08-19 19:31:26 · 914 阅读 · 0 评论 -
《Qt for Android(12) —— QT for Android 多媒体播放器JNI交互原理和源码分析 | 寻找C站宝藏》
背景 本文旨在对qml的mediaplayer和android的mediaplayer是怎样交互的,qml mediaplayer的play、pause等函数是这样向下传递的,和android mediaplayer的回调函数是怎样响应到qml的槽函数的进行简要的分析和梳理,以便于对这块的内容有一个大概的了解,并清楚原理。建议下载qt5.15的源码,用source insight阅读。 源码流程(QT端) 1、首先我们在QML中使用MediaPlayer组件,并设置了相关属性,增加了play、pause原创 2021-06-16 16:49:56 · 1199 阅读 · 3 评论 -
ListView源码分析
这篇文章没文字,只有两幅图,需要文字的请看: Android ListView工作原理完全解析,带你从源码的角度彻底理解。自己总结了一下,加深对listview复用机制的理解。csdn地址:http://blog.youkuaiyun.com/u012534831 github地址:https://github.com/qht1003077897 个人博客地址:https://qht1003077897.g原创 2017-07-17 17:22:18 · 2216 阅读 · 0 评论 -
安卓面试清单----OKHttp源码解析(三)
sendRequest ()上篇文章我们讲了sendRequest ()方法,这节接着来看readResponse方法:/**来自HttpEngine 类*/ public void readResponse() throws IOException { if(this.userResponse == null) { if(this.networkRequest ==原创 2017-07-17 17:31:32 · 1570 阅读 · 0 评论 -
安卓面试清单----OKHttp源码解析(二)
上篇文章我们讲到了getResponse()方法,这节接着来看:getResponse()方法中最重要的有两个方法,sendRequest() 和 readResponse();先来看 sendRequest() : /**来自 HttpEngine 类*/public void sendRequest() throws RequestException, RouteException, IOExc原创 2017-07-17 17:32:30 · 970 阅读 · 0 评论 -
安卓面试清单----OKHttp源码解析(一)
本文基于OKHttp3.2 。一个典型 OKhttp 同步请求的发起是这样的: Response response = client.newCall(request).execute();在 OkHttpClient 类中, newCall 方法是这样的:public Call newCall(Request request) { return new RealCall(this, re原创 2017-07-17 17:33:02 · 1655 阅读 · 0 评论