自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 Cocos CmakeList编译流程

上面主要就是看一下cc_android_before_target和cc_android_after_target两个函数。所以逻辑就又分发到了templates里面,其实里面的逻辑也就刚好只有这2个marco,而这2个marco也就刚好就是我们要找的marco。${COCOS_X_PATH}/CMakeLists.txt可以找到。里面有加载engine相关的逻辑,我们看下engine大概处理了哪些。在predefine.cmake中有。

2024-02-19 11:33:19 312 1

原创 Cocos Engine对接AGDK

Java层GameActivity将Stop生命周期回调通过JNI调用到C++层GameActivity的onNativeStop到android_native_app_glue里的onPause,android_native_app_glue通过Pipe管道将APP_CMD_STOP事件从主线程切换到游戏的主线程,将事件传递给了AndroidPlatform,并且AndroidPlatform则把_isVisible修改成false。上层需要实现的较为简单。android_main的大致框架如下。

2024-02-19 11:29:56 637 1

原创 Android GPU合成

FramebufferSurface 根据名字解析:1: Surface 说明它是一个Surface, 那么它就会拥有一个 BufferQuere, 用于显示。2: FrameBuffer 这和 Linux 的 framebuffer 是完全不同的。但是作用有些类似, SurfaceFlinger 在上面作画, 并把它交给HWC, 最终由HWC负责真正的显示。

2024-02-19 11:18:25 1232 1

原创 安卓输入法模块

IMS运行在输入法进程, 是一种特殊的输入法后台服务,继承结构为:InputMethodService extends AbstractInputMethodServiceService 输入法服务本质上是一个服务, 使用时需要IMMS通过bindService的方式绑定。主要指输入法框架的InputMethodService,这是一个输入法服务,真正实现输入法界面,控制字符输入的地方。主要指输入法框架的InputMethodManager,每个app都一个实例,用来和输入法控制端交互。

2024-02-19 11:03:45 404 1

原创 简述Android图形绘制(SF)部分流程

2.CPU侧APP已经完成了queuebuffer操作,若此时GPU的执行时间较长,这时slot的状态已切换为QUEUED状态,或者vsync已经到来状态变为ACQUIRED状态,这在CPU侧代表该buffer给HWC去合成,但这时HWC的硬件MDP还不能去读里面的数据,它还需要等待acquireFence的signaled信号,只有等到acquireFence的signaled信号才代表GPU的绘制完成并且结束对帧缓冲区的访问。SurfaceFlinger线程run时,启动一个死循环,循环等待事件。

2024-02-19 10:56:00 1108 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除