前提是dpi==ppi的情况下
Android适配全面总结(一)----屏幕适配版权声明:本文为博主原创文章(部分引用他人博文,已加上引用说明),未经博主允许不得转载。https://www.jianshu.com/p/7aa34434ad4d 转载请标...
前两篇文章 放弃RxBus,拥抱RxJava(一):为什么避免使用EventBus/RxBus ,放弃RxBus,拥抱RxJava(二):Observable究竟如何封装数据...
正常情况下我们有一个顶点着色器一个片段着色器,其实这样我们的正常操作都是没问题的。但是我们有时候需要像先放大在设置纹理再缩小这样操作,那么一个顶点着色器和一个片段着色器就达不...
做好的Demo截图 前言 讲了这么多,可能有人要问了,播放视频用个android封装的VideoView或者用MediaPlayer+SurfaceView来进行播放视频不就...
OpenGL(Open Graphics Library):图形硬件的软件接口,将计算机的资源抽象成一个OpenGL对象。对OpenGL对象的操作就是对这些资源的整合和操作。...
本文首发于个人博客:Lam's Blog - 【OpenGL-ES】二维纹理,文章由MarkDown语法编写,可能不同平台渲染效果不一,如果有存在排版错误图片无法显示等问题,...
本系列博客基于com.android.support:recyclerview-v7:26.1.01.【进阶】RecyclerView源码解析(一)——绘制流程2.【进阶】R...
内部锁是通过synchronized关键字实现的。synchronized关键字可以用来修饰方法以及代码块(花括号 "{}"包裹的代码)。synchronized关键字修饰的...
构建的生命周期 Gradle项目的构建分为三个阶段:初始化、配置、执行。参考官方手册 Build Lifecycle。 初始化(Initialization) 在这个阶段中,...
1.前言 一个应用App的启动速度能够影响用户的首次体验,启动速度较慢(感官上)的应用可能导致用户再次开启App的意图下降,或者卸载放弃该应用程序。本文会通过以下几个方面来介...
Cygwin安装参考上一篇 configure文件修改两处 替换成 替换成 sh文件中把路径替换成window的绝对路径 最终mk文件构建生成so,直接用ndk-bulid,...
总纲:一. 没有边界的Ripple(Ripple With No Mask) 二. 用颜色作为Mask的Ripple(Ripple With Color Mask),然而颜色...
Android O对隐式广播进行了限制, 其限制链接说明: https://developer.android.com/about/versions/oreo/backgro...
简介 随着短视频的发展,短视频的需求越来越复杂,比如添加滤镜、特效、字幕、贴纸等越来越多的功能都将添加到短视频编辑的功能里面。传统的基于FFmpeg命令行进行编辑合成的方案,...
原文:https://developer.android.com/reference/android/media/MediaCodec.html MediaCodec cla...
导语 今天跟大家分享的这篇文章,也是之前自己总结的,大致就是想说明一下,视频的裸数据yuv格式的各种分类。刚开始接触yuv的时候,笔者就被形形色色的各种各样的yuv格式弄得一...