【安卓】
1.CoordinatorLayout:协调者布局主要协调子视图之间的联动、APPBarLayout。
2.MediaExtractor:作用是把音频和视频的数据进行分离。
3.自Android 3.1之后的版本,Google引入了USB Accessories的概念,并提供了相关的开发库与之通信。
4.[JVM] 主内存与工作内存:
主内存主要包括方法区和堆区,每个线程都有一个工作内存包括虚拟机栈、本地方法栈、程序计数器、寄存器、高速缓存。
5.[Kotlin] var:
1. var <标识符>:<类型> = <初始化值> 2. var <标识符>:<类型?> = <初始化值|null>
6.[Work] Worker:
1. work-runtime,其实就是管理一些要在后台工作的任务, 即使你的应用没启动也能保证任务能被执行。 2. Worker 是干活的主体,它只管轮到了它时要做的工作,不管其它的东西,在执行时可以获取任务参数。
7.[JVM] 运行时数据区
【区域】 1. 程序计数器 2. 虚拟机栈 3. 本地方法栈 4. 堆 5. 方法区
8.[SSL] 私钥:.key后缀文件通常用来存放一个公钥或者私钥(非对称加密的公钥或者私钥),并非X.509证书,编码格式一般都是PEM。
9.[Android] MediaCodec.BufferInfo:
// 创建BufferInfo,用于获取此次解码输出的信息 BufferInfo mBufferInfo = new MediaCodec.BufferInfo(); int outputBufferIndex = mMediaCodec.dequeueOutputBuffer(mBufferInfo, TIMES_OUT); // 获取解码后的数据 ByteBuffer outputBuffer = null; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { outputBuffer = outputBuffers[outputBufferIndex]; } else { outputBuffer = mMediaCodec.getOutputBuffer(outputBufferIndex); } if ((mBufferInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) != 0) { MediaFormat format = mMediaCodec.getOutputFormat(); format.setByteBuffer("csd-0", outputBuffer); mBufferInfo.size = 0; } if (mBufferInfo.size != 0) { // 如果API<=19,需要根据BufferInfo的offset偏移量调整ByteBuffer的位置,并且限定将要读取缓存区数据的长度,否则输出数据会混乱 if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) { outputBuffer.position(mBufferInfo.offset); outputBuffer.limit(mBufferInfo.offset + mBufferInfo.size); } byte[] encodedData = new byte[bufferInfo.size]; outputBuffer.get(encodedData); mMuxer.writeSampleData(mTrackIndex, encodedData, bufferInfo); mediaCodecDecoder.releaseOutputBuffer(outputBufferIndex, false); } if ((bufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) { decoder.releaseOutputBuffer(outIndex, false); }// 创建BufferInfo,用于获取此次解码输出的信息 BufferInfo mBufferInfo = new MediaCodec.BufferInfo(); int outputBufferIndex = mMediaCodec.dequeueOutputBuffer(mBufferInfo, TIMES_OUT); // 获取解码后的数据 ByteBuffer outputBuffer = null; if (Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { outputBuffer = outputBuffers[outputBufferIndex]; } else { outputBuffer = mMediaCodec.getOutputBuffer(outputBufferIndex); } if ((mBufferInfo.flags & MediaCodec.BUFFER_FLAG_CODEC_CONFIG) != 0) { MediaFormat format = mMediaCodec.getOutputFormat(); format.setByteBuffer("csd-0", outputBuffer); mBufferInfo.size = 0; } if (mBufferInfo.size != 0) { // 如果API<=19,需要根据BufferInfo的offset偏移量调整ByteBuffer的位置,并且限定将要读取缓存区数据的长度,否则输出数据会混乱 if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT) { outputBuffer.position(mBufferInfo.offset); outputBuffer.limit(mBufferInfo.offset + mBufferInfo.size); } byte[] encodedData = new byte[bufferInfo.size]; outputBuffer.get(encodedData); mMuxer.writeSampleData(mTrackIndex, encodedData, bufferInfo); mediaCodecDecoder.releaseOutputBuffer(outputBufferIndex, false); } if ((bufferInfo.flags & MediaCodec.BUFFER_FLAG_END_OF_STREAM) != 0) { decoder.releaseOutputBuffer(outIndex, false); }
【科学】
1. [概率论] P(A∪B):韦恩图证明两个面积的交集。
2.[电学] 安培:1秒有6.24*10^18个电子流过导线横截面。
3.[三角学] 弧度制:弧度 = 弧长 / 半径
4.条件概率定义:P(E|F) = P(EF)/P(F)
5.磁场:磁性物质是因为内部运动电荷的整体形势的排列方向一致,磁能在空间上叠加(磁铁燃烧后,由于运动电荷的动能增加,运动电荷的排列变得不稳定,磁性消失)
【其他】
1.[CSS] 线性渐变图像:
The `linear-gradient()` CSS function creates an image consisting of a progressive transition between two or more colors along a straight line. Its result is an object of the `<gradient>` data type, which is a special kind of `<image>`.
2.[IOS] UIWindow:UIWindow是一种特殊的UIView,通常在一个应用中只会有一个UIWindow。
3.[Linux] 定时任务:crontab是一个服务,可以配置每到某个时间条件下执行某个shell命令。
4.[Dark] 字符:
Runes(字符) 在Dart中,字符是字符串的UTF-32编码点,因为Dart字符串是UTF-16代码单元的序列,所以在字符串中表示32位的Unicode值需要特殊的语法。
5.使用伪元素实现美化半个字符,左边一半红色,右边一半黑色。
.halfStyle { position:relative; display:inline-block; font-size:80px; /* 任何宽度都可以 */ color: black; /* 任何颜色,或透明 */ overflow:hidden; white-space: pre; /* 处理空格 */ } .halfStyle:before { display:block; z-index:1; position:absolute; top:0; left:0; width: 50%; content: attr(data-content); /* 伪元素的动态获取内容 */ overflow:hidden; color: #f00; } <p>单个字符</p> <span class="halfStyle" data-content="风">风</span> <span class="halfStyle" data-content="流">流</span> <span class="halfStyle" data-content="倜">倜</span> <span class="halfStyle" data-content="傥">傥</span> <hr/> <p>用脚本自动美化:</p> <span class="textToHalfStyle lazy ">恋爱容易婚姻不易,且行且珍惜。</span>