Core Animation Manages Your App’s Content
Core Animation 是对现有图片的操作函数。
https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreAnimation_guide/Introduction/Introduction.html
Core Animation Manages Your App’s Content
Core Animation is not a drawing system itself. It is an infrastructure for compositing and manipulating your app’s content in hardware. At the heart of this infrastructure are layer objects, which you use to manage and manipulate your content. A layer captures your content into a bitmap that can be manipulated easily by the graphics hardware. In most apps, layers are used as a way to manage the content of views but you can also create standalone layers depending on your needs.
All you have to do is configure a few animation parameters (such as the start and end points) and tell Core Animation to start. Core Animation does the rest, handing most of the actual drawing work off to the onboard graphics hardware to accelerate the rendering. This automatic graphics acceleration results in high frame rates and smooth animations without burdening the CPU and slowing down your app.
The Layer-Based Drawing Model
Most layers do not do any actual drawing in your app. Instead, a layer captures the content your app provides and caches it in a bitmap, which is sometimes referred to as the backing store. When you subsequently change a property of the layer, all you are doing is changing the state information associated with the layer object. When a change triggers an animation, Core Animation passes the layer’s bitmap and state information to the graphics hardware, which does the work of rendering the bitmap using the new information, as shown in Figure 1-1. Manipulating the bitmap in hardware yields much faster animations than could be done in software.
Figure 1-1 How Core Animation draws content
相关文章
- ASP .NET CORE MVC 部署Windows 系统上 IIS具体步骤---.Net Core 部署到 IIS位系统中的步骤
- C# App.config 详解
- Android App集成支付宝
- 苹果开发——App内购以及验证store的收据(一)
- Hybrid App技术批量制作APP应用与跨平台解决方案
- ios开发,app调用资源文件到C++的方法
- [FAQ] uni-app 导航路由切换时如何强制刷新页面?
- SAP Spartacus app module注入config module的过程
- Angular InjectionToken APP_INITIALIZER 的实现方法介绍
- vue 的 render 函数的用法:new Vue({ render: h => h(App), }).$mount(‘#app‘)
- 适合做app的前端框架有哪些?webAPP&移动端App:react native、weex、flutter
- ios xcode 怎样模拟app被挂起(在后台被系统杀死) APP 的五种状态
- Android 进入其他app和退出App杀死进程的方法详解
- 关于 appium 启动 app 后闪退的问题 - (已解决)
- Android7.1启动系统App必须配置加密(一)
- Net Core 微服务 - 如何在docker容器里运行一个简单的.net core web api 服务
- 【uni-app高级实战】手把手带你学习一个纯实战复杂项目的开发1/100
- :app:compileDebugKotlin Supertypes of the following classes cannot be resolved. Please make sure you
- Android:Error:Execution failed for task ‘:app:transformResourcesWithMergeJavaResForDebug‘.
- RD Client 苹果手机APP由于内部错误 我们无法连接到远程网关,错误0x3000064