响应式网页设计、开放源代码、永久使用、不限域名、不限使用次数

扇贝怎么做软件程序(实用)1篇

2024年扇贝怎么做软件程序 篇1

我是从事安卓APP开发的,这里就用安卓举例说明下我们的代码是怎么变成可视化界面的。安卓编程代码

安卓早期采用java做为第一编程语言,现在是主推kotlin,还可以用flutter或者其他混合框架开发,这里不做多介绍。

上图是简单的控件展示,基本涵盖主要的交互功能。文字的大小颜色包括控件的间距都是可以通过代码调节。

图中的控件是谷歌编写好的,开发者可以直接使用,如果这些控件满足不了需求,你还可以自定义控件通过canvas实现。

通过源码可以知道,其实谷歌提供的这些控件也都是自定义控件。

那么java层面的代码是不能转换成可视化的界面的,那安卓是怎么实现的呢?

其实是通过调用底层(C语言)接口实现的。底层(C语言)接口

我们自定义控件使用的就是最上面的

canvas.java类实现的,最终会调用到底层的

libskia.so文件,所以java层面的canvas实际上是封装的native层的方法。

可以这样理解,java层只是描述界面,具体实现由native层实现。

那么native层是怎么实现的呢?安卓底层使用C语言编写,里面有个SurfaceFlinger类,这个类获取界面宽,高,点密度,颜色分量的大小等信息后,交给硬件帧缓冲区去。

硬件帧缓冲区属于硬件驱动范畴了,超出了本人知识结界,这里就不BB了。总结

不用设备有不同的图形驱动,编码只是实现界面的形状大小等描述,最终都会交给图形驱动层去渲染。编码层是为了更好的方便开发者。

猜你喜欢