UIImageView setImage 伪代码

image.png

image.png

image.png

image.png

写成伪代码的形式

void main(){
    while(true){
        _CFRunLoopRun() {
            _CFRunLoopDoObservers(){
                CA::Transaction::observer_callback(_CFRunLoopObserver*,unsigned long,void*){
                    CA::Transaction::commit(){
                        CA::Context::commit_transaction(CA::Transaction *){
                            CA::Layer::commit_if_needed(CA::Transaction*,void(*)(CA::Layer*,unsigned int, unsigned int, void*)){
                                CA::Context::commit_layer(CA::Layer*,unsigned int, unsigned int, void*){
                                    [CALayer _copyRenderLayer:layerFlags:commitFlags:]{
                                        malloc_zone_malloc()
                                    }
                                }
                            }
                            CA::Layer::prepare_commit(CA::Transaction*){
                                CA::Render::prepare_image(CGImage*,CGColorSpace*,unsigned int, double, double){
                                    CA::Render::copy_image(CGImage*,CGColorSpace*,unsigned int,double, double){
                                        CGImageProviderCopyIOSurface(){
                                            _csiCompressImageProviderCopyIOSurfaceWithOptions(){
                                                [_CSIRenditionBlockData expandCSIBitmapData:fromSlice:makeReadOnly:]{
                                                    CUIUncompressDeepmapImageData(){
                                                        //不确定
                                                        dispatch_sync(){
                                                            _CUIUncompressDeepmapImageData_block(){
                                                                vImageDeepmapDecodeStreamCreate()
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                        CA::Render::add_observer(CA::Render::NotificationName, CA::Render::Object*,void(*)(CA::Render::Object *,void*,void*),void*, bool)
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}

你可能感兴趣的:(UIImageView setImage 伪代码)