surface

2020年最新 Android 面试点梳理,新手必看避免踩雷,轻松拿offer!

限于喜欢 提交于 2020-07-29 10:35:54
现在想想,移动互联网的发展不知不觉已经十多年了,Mobile First 也已经变成了 AI First。换句话说,我们已经不再是“风口上的猪”。移动开发的光环和溢价开始慢慢消失,并且正在向 AI、区块链等新的领域转移。移动开发的新鲜血液也已经变少,最明显的是国内应届生都纷纷涌向了 AI 方向。 ​ 可以说,国内移动互联网的红利期已经过去了,现在是增量下降、存量厮杀,从争夺用户到争夺时长。比较明显的是手机厂商纷纷互联网化,与传统互联网企业直接竞争。另外一方面,过去渠道的打法失灵,小程序、快应用等新兴渠道崛起,无论是手机厂商,还是各大 App 都把出海摆到了战略的位置。 其实如果你技术深度足够,大必不用为就业而忧愁。每个行业何尝不是这样,最开始的风口,到慢慢的成熟。Android初级在2019年的日子里风光不再, 靠会四大组件就能够获取到满意薪资的时代一去不复返。 经过一波一波的淘汰与洗牌,剩下的都是技术的金子。就像大浪褪去,裸泳的会慢慢上岸。 而真正坚持下来的一定会取得不错成绩。毕竟Android市场是如此之大。从Android高级的蓬勃的就业岗位需求来看,能坚信我们每一位Android开发者的梦想 。 接下来我们针对Android高级展开的完整面试题。 Android 基础 Activity 生命周期 A 打开 B 界面,会先执行 A 的 onPause,再执行 B 的

芯片Timing sign-off Corner理解

被刻印的时光 ゝ 提交于 2020-07-28 17:26:13
参考博文:http://blog.sina.com.cn/s/blog_5ced60e80102y7pd.html 一颗健壮的IC芯片应该具有能屈能伸的品质,他需要适应于他所在应用范围内变化的温度、电压,他需要承受制造工艺的偏差,这就需要在设计实现过程中考虑这些变化的温度、电压和工艺偏差。 在STA星球,用 library PVT、RC corner跟OCV 来模拟这些不可控的随机因素。在每个工艺结点,通过大量的建模跟实测,针对每个具体的工艺,foundary厂都会提供一张推荐的timingsignoff表格, 建议需要signoff的corner及各个corner需要设置的ocv跟margin。这些corner能保证大部分芯片可以承受温度、电压跟工艺偏差,一个corner=libraryPVT+ RC corner + OCV,本文将关注于library PVT。 ------OCV(on-chip-variation)也是用来模拟cell的PVT及线的RC变化,与前面两个不同的是,前两者是芯片全局的PVT/RC Corner,OCV是芯片上内的局部偏差(包括process 、 voltage、temperature、network RC)。比如在STA分析setup时,并不是用最慢的library PVT来signoff就是最差情况,对于capture

Shader笔记_003UNITY提供的内置变量和文件及特殊语义

风流意气都作罢 提交于 2020-07-28 11:11:36
当我们查看别人的shader,如果没有在代码里找到声明那多半是使用了UNITY内置的文件和变量。 一、包含文件 UNITY可以使用#include 来包含部分文件,文件后缀.cginc,类似C++头文件/java的包 例如 CGPROGRAM ... #include "UnityCG.cginc" ... ENDCG 通过这种方式可以引用UNITY已经封装好的函数/变量我们可以通过 http://unity3d.com/cn/get-unity/download/archive 下载(虽然网站没法访问) 常用的UNITY内置文件 UnityCG.cginc 包含了最常用的函数结构体和宏等 UnityShaderVariables.cginc 在编译UNITY SHADER时 会自动被包含进来 ,包含了很多全局变量 如 UNITY_MATRIX_MVP转换矩阵 Lighting.cginc 包含了各种光照模型,如果编写Surface Shader的话 会被自动包含进来 HLSLSupport.cginc 在编译UNITY SHADER时被自动包含进来,声明了很多用于跨平台编译的宏和定义 UnityStandardBRDF.cginc、UnityStandardCore.cginc 这些文件里面包含了用于基于物理的渲染 --------------------------------

Android应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析

时间秒杀一切 提交于 2020-07-28 08:35:10
ndroid应用程序窗口(Activity)的绘图表面(Surface)的创建过程分析 在WindowManagerService服务这一侧,每一个应用程序窗口,即每一个Activity组件,都有一个对应的WindowState对象,这个WindowState对象的成员变量mSurface同样是指向了一个Surface对象 ,如图3所示: 一个应用程序窗口分别位于应用程序进程和WindowManagerService服务中的两个Surface对象有什么区别呢?虽然它们都是用来操作位于SurfaceFlinger服务中的同一个Layer对象的,不过,它们的操作方式却不一样。具体来说,就是位于应用程序进程这一侧的Surface对象负责绘制应用程序窗口的UI,即往应用程序窗口的图形缓冲区填充UI数据,而位于WindowManagerService服务这一侧的Surface对象负责设置应用程序窗口的属性,例如位置、大小等属性。这两种不同的操作方式分别是通过C++层的Surface对象和SurfaceControl对象来完成的,因此,位于应用程序进程和WindowManagerService服务中的两个Surface对象的用法是有区别的。之所以会有这样的区别,是因为绘制应用程序窗口是独立的,由应用程序进程来完即可,而设置应用程序窗口的属性却需要全局考虑

芯片Timing sign-off Corner理解

半世苍凉 提交于 2020-07-27 18:28:27
参考博文:http://blog.sina.com.cn/s/blog_5ced60e80102y7pd.html 一颗健壮的IC芯片应该具有能屈能伸的品质,他需要适应于他所在应用范围内变化的温度、电压,他需要承受制造工艺的偏差,这就需要在设计实现过程中考虑这些变化的温度、电压和工艺偏差。 在STA星球,用 library PVT、RC corner跟OCV 来模拟这些不可控的随机因素。在每个工艺结点,通过大量的建模跟实测,针对每个具体的工艺,foundary厂都会提供一张推荐的timingsignoff表格, 建议需要signoff的corner及各个corner需要设置的ocv跟margin。这些corner能保证大部分芯片可以承受温度、电压跟工艺偏差,一个corner=libraryPVT+ RC corner + OCV,本文将关注于library PVT。 ------OCV(on-chip-variation)也是用来模拟cell的PVT及线的RC变化,与前面两个不同的是,前两者是芯片全局的PVT/RC Corner,OCV是芯片上内的局部偏差(包括process 、 voltage、temperature、network RC)。比如在STA分析setup时,并不是用最慢的library PVT来signoff就是最差情况,对于capture

Android MediaCodec硬编码H264文件(四)

江枫思渺然 提交于 2020-07-27 10:30:12
在 Android 4.1 版本提供了 MediaCodec 接口来访问设备的编解码器,不同于 FFmpeg 的软件编解码,它采用的是硬件编解码能力,因此在速度上会比软解更具有优势,但是由于 Android 的碎片化问题,机型众多,版本各异,导致 MediaCodec 在机型兼容性上需要花精力去适配,并且编解码流程不可控,全交由厂商的底层硬件去实现,最终得到的视频质量不一定很理想。 虽然 MediaCodec 仍然存在一定的弊端,但是对于快速实现编解码需求,还是很值得参考的。 以将相机预览的 YUV 数据编码成 H264 视频流为例来解析 MediaCodec 的使用。 使用解析 MediaCodec 工作模型 下图展示了 MediaCodec 的工作方式,一个典型的生产者消费者模型,两边的 Client 分别代表输入端和输出端,输入端将数据交给 MediaCodec 进行编码或者解码,而输出端就得到编码或者解码后的内容。 输入端和输出端是通过输入队列缓冲区和输出队列缓冲区,两条缓冲区队列的形式来和 MediaCodec 传递数据。 首先从输入队列中出队得到一个可用的缓冲区,将它填满数据之后,再将缓冲区入队,交由 MediaCodec 去处理。 MediaCodec 处理完了之后,再从输出队列中出队得到一个可用的缓冲区,这个缓冲里面的数据就是编码或者解码后的数据了

Python mayavi库及mayavi管线

陌路散爱 提交于 2020-07-26 23:46:35
Mayavi库的基本元素 Mayavi库中主要有两大部分功能   一类是用于处理图形可视化和图形操作的mlab模块   一类是操作管线对象窗口对象的api mlab包含   绘图函数:实现已有的数据进行可视化显示,可以是numpy数组构建的,也可以是外部读取的,比如读取一个文件   图形控制函数:实质上是对mayavi中的figure进行控制,比如可以通过gcf获得当前视图的指针,也可以通过clf来清空当前图形,通过close关闭当前图形   图形修饰函数:对当前绘制的函数进行一定的修饰和装饰,比如说绘制完图形之后需要增加一个颜色标识栏   图形控制函数,其他函数和Mlab管线控制函数或者是对坐标轴增加相应的标签等,比如使用xlaber可以在x轴上增加相应的标签   相机控制函数:对相机的操作,比如说move函数来移动相机到某个位置上,使用pitch,roll,yaw函数控制相机进行旋转等   其他函数:     animate:生成一段动态的可视化效果     get_engine:获得当前管线的engine   Mlab管线控制:可以设置当前管线的数据源也可以为当前绘制管线增加数据集使用addataset等 Mayavi API   管线基础对象:可以通过这类函数获得Mayavi管线的各个基本对象   包括Scene,Source,Filter,ModuleManager

ECharts 3D 饼图近似实现

£可爱£侵袭症+ 提交于 2020-07-25 02:07:37
忘了从哪里看到的了,有人问如何做一个 3D 饼图?当时翻了半天 ECharts-GL 配置项,但始终没有找到思路。 后来,在观摩学习曲面图(ECharts-GL 的 series-surface)的官方示例时,偶然得到了这个: 偶然把一个球拍扁了 当时特别激动,感觉 pie3D 大有希望了~ 但是由于自己是第一次见到参数方程,当时完全没有理解,虽然一通瞎改弄出来了半圆和 1/4 圆,但任意角度的扇形半天也弄不出来……于是又搁置了 直到最近,忽然发现 Gallery 里的「3D 饼图尝试中」,居然有几个收藏(我当时设置的不是仅自己可见么 )…… 估计收藏的人是想看我最后能试出什么成果吧。想到这,心里顿时升起一种负罪感:让人家白白等了好几个月,我这却一点动静也没有 被这种负罪感驱使着,最近几天一有空就去想想、去试试,最后终于把想要的扇形做出来了。 3D 扇形 后面就相对容易了,花了些时间把 3D 饼图的提示框格式定制一下,再把选中效果、高亮(放大)效果尝试了下,最后写个自动生成 3D 饼图配置项的函数……最终得到了这样的效果: 最终效果 整体思路 首先要介绍一下 ECharts-GL 的曲面图 series-surface,这是一个基于三维直角坐标系(grid3D)的 3D 曲面,可以通过函数或者参数方程来描绘曲面,比如这些(官方示例): 3D surface 官方示例 然后得到 3D

Allavsoft for Mac(视频下载工具) v3.22.5.7433

点点圈 提交于 2020-05-09 15:56:56
Allavsoft Mac中文破解版是mac上一款非常好用的视频下载工具,可以帮助用户快速进行视频在线下载和转换功能,支持从雅虎、YouTube、Facebook等多达100家的视频分享网站的影片下载功能。 地址: https://www.macw.com/mac/1035.html 功能特色 在Mac上下载免费视频文件 Allavsoft也是一款无所不能的Mac Video Downloader,支持从Facebook,Yahoo Video,Google Video,DailyMotion,eHow等各种视频分享网站下载视频。 下载1080p高清视频 一旦视频共享网络提供这种视频分辨率和质量,这个理想的视频下载器就可以下载具有最佳视频质量的网络视频,如下载高清1080p视频,下载4K视频和下载720p视频。 将视频下载到Apple ProRes,MP4,MOV,AVI等 这个一站式的Mac视频下载器可以从各种网站下载电影,无论原始格式是FLV,WebM,F4F,MP4,F4V,AVI,任何流行的视频格式,如下载视频到MP4,MOV,Apple ProRes,AVI, WMV,ASF,MPEG-1,MPEG-2,VOB,MKV,DV,3GP,RM,TS,SWF,FLV,OGV,WebM等。 将视频下载到Apple Lossless,M4A,WAV,MP3,AAC等

(9)How to take a picture of a black hole

血红的双手。 提交于 2020-05-08 21:14:19
https://www.ted.com/talks/katie_bouman_what_does_a_black_hole_look_like/transcript 00:13 In the movie " Interstellar [ˌɪntərˈstelə(r)] 星际的 ," we get an up-close look at a supermassive black hole. Set against a backdrop of bright gas, the black hole's massive gravitational [ˌgrævɪˈteɪʃənl] 万有引力的 pull bends light into a ring. However, this isn't a real photograph, but a computer graphic rendering -- an artistic interpretation of what a black hole might look like. 00:32 A hundred years ago, Albert Einstein first published his theory of general relativity. In the years since then, scientists have