IT技术之家

首页 > TAG信息列表 > 面试

  • 子线程是否可以更新UI-Android_子线程能不能更新ui_hequnwang10

    Android 中子线程在满足一定的条件下可以更新 UI。首先说一下抛出异常at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:7905)@Overridepublic void requestLayout() { if (!mHandlingLayoutInLayoutRequest) { checkThread(); mLayoutRequested = true;


    标签: android java androidstudio 面试
  • 简看 Canvas 源码,突发奇想_lefex

    最近都在和 Canvas 打交道,前端使用 Canvas 的方式真的太简单了,你简单调用几个 API 就能够给你绘制你想要的内容,比如文本、图片、视频。但是有些 API 摸不准会不会影响性...


    标签: java python javascript vue 面试
  • Java基本语法_二哈喇子!

    Java基本语法


    标签: java JVM 面试
  • 17-优化相关_神经骚栋

    可执行文件和动态库中所有的符号(Class,Protocol, Seletor, IMP …) 都按照格式加载到内存中,被Runtime所管理.main函数就会调用UIApplicationMain函数,Appdelegate中得。dyld 是iOS的动态链接器, 可以用来装载Mach-O文件.所有初始化工作完成之后dyld就会调用main函数.


    标签: ios objective-c xcode 面试
  • 13-多线程的相关内容_神经骚栋

    打印的线程都是在同一个线程中.打印顺序为 1 → 2 → (栅栏函数打印线程) → (3 4), 大概率为 1 → 2 → (栅栏函数打印线程) → 4 → 3。并发队列 + 添加异步任务 会导致创建新的线程. 当前线程与新线程的执行顺序未知, 所以大概率会先执行 1 → 5 .在新的线程中,同步添加任务打印3,那么不会再次创建新的线程了,只会在当前线程串行执行. 也就是 2 → 3 → 4.串行队列添加异步任务,不会创建新的线程.所以当前是什么线程,那么block中代码执行所在的线程就是什么线程.


    标签: ios objective-c xcode 面试
  • 06-KVC内容相关_神经骚栋

    顺序去查找成员变量.如果查找到则完成赋值,如果查找不到则依然会调用。四个方法,如果有则进行调用并且返回其值.的返回值,如果为NO,那么直接调用。,如果有,则直接调用方法传入参数.首先先判断是否有属性的Set方法。返回值为YES,那么直接 按照。如果上述查找不到,那么就仍然调用。返回值为YES,那么他会按照。返回值为NO,那么就会调用。KVC的赋值过程会触发KVO.上述方法未找到,则判断。


    标签: ios objective-c 面试
  • iOS底层学习——KVC_iOS开发面试

    1.KVC协议定义键值编码是由NSKeyValueCoding非正式协议启用的一种机制,对象采用该机制来提供对其属性的间接访问。当对象符合键值编码时,其属性可通过字符串参数通过简洁、统一的消息传递接口进行寻址。这种间接访问机制补充了实例变量及其相关访问器方法提供的直接访问。KVC在Objective-C中的定义KVC的定义都是对NSObject的扩展来实现的(Objective-C中有个显式的NSKeyValueCoding类别名-分类)。查看setValueForKey方法,发现其在Found.


    标签: ios 面试
  • 12-RunLoop的相关内容_神经骚栋

    当用户滑动时,主线程的RunLoop处于UITrackingRunLoopMode的模式下,所以想要reloadData不打断用户的滑动操作,那就需要把reloadData的调用放入主线程RunLoop的NSDefaultRunLoopMode.实现一个常驻线程就需要开启线程的RunLoop,同时我们需要给RunLoop添加一个Port/Source事件来维持RunLoop的事件循环(因为RunLoop的mode中一个Item没有,那么RunLoop就会退出).RunLoop的主要流程如下所示.


    标签: 开发语言 ios objective-c 面试
  • iOS 性能优化之内存优化_ios 内存优化_hello白白

    近四年没更CSDN了,感慨万千。近年来在搞一款比较大的APP,项目中代码量100w+,里面各种三方库、其他领域的二级制包比较多;以前这些三方、二进制都挤在一个工程目录下,导致耦合性太大,项目看着特别杂乱臃肿,新人着手时往往无从下手;两年前某大佬带队搞了一波解耦合,该拆的拆,该解的解,如今的项目还是比较清晰明了的,按照模块划分出各种framework进行集成,便于管理。 即使解耦合,项目中的100w+代码量还是实实在在的,性能优化与IPA瘦身不得不提。...


    标签: ios 面试
  • 什么是Runtime?平时项目有用到过吗?_你在项目中用过 runtime 吗_GDCoder

    我们在面试中经常会被问到这些问题,到底怎么回答比较合适?这样我们先去看一下我们平时项目中用到的Runtime,等下我们再来概括上面的问题的答案.我们肯定是用Runtime提供的API去做一些事情.我们肯定是多多少少有接触Runtime,如果面试官问你,你肯定回答用过,不然说明你对Runtime一点都不了解.这样对你的印象就大打折扣了.现在我就列一些我们可能用到的API(注意只是部分,不是所有).Runtime类相关的APIRuntime成员变量相关的APIRuntime属性相


    标签: objective-c runtime runtime面试 底层 面试
  • iOS runtime面试题

    没有比这里更全的了,看我就好了面试官?? :你是否了解OC中的runtime?面试官?? :你了解Objective-C的消息机制吗?面试官?? :请简述一下分类的底层实现原理?面试官?? :请简述一下KVO的底层实现原理?面试官?? :请简述关联对象给分类添加属性的原理?...


    标签: 面试
  • 02-iOS对象的本质_神经骚栋

    类对象主要存储的内容含有 isa指针、superclass指针、类的属性列表信息、类的对象方法列表、类的协议信息以及类的成员变量信息等.每个类内存中有且只有一份类对象.iOS对象大致可以分为3类,分别是实例对象(instance-object)、类对象(class-object)、元类对象(meta-class-object).元类对象主要存储的内容含有 isa指针、 superclass指针、类的类方法列表.每个类内存中有且只有一个元类对象.实例对象主要存储的是 isa指针、成员变量的值信息.


    标签: ios objective-c 开发语言 面试
  • 面向对象高级特性:继承_只能被继承但不能用于创建对象_你啷个楞个嘞个鸭

    面向基础对象笔记


    标签: java objective-c 面试
  • iOS面试基础知识自整理(待续)_与安君

    变量成员变量特性:在@interface或@implementation里声明用于类的内部,无需与外界接触,与类的生命周期一致由修饰符决定子类及其他类是否可以直接访问不会生成get、set方法修饰符@public:在任何地方都能直接访问对象的成员变量@private:只能在当前类的对象方法中直接访问,如果子类要访问需要调用父类的get/set方法@protected:可以...


    标签: java 编程语言 ios 面试
  • 25-动画相关内容_神经骚栋

    的分工了,presentationLayer其实就是我们看到的展现到屏幕上的视图layer, modelLayer则是管理渲染数据Layer,像我们平常设置frame,color等渲染数据其实并不是直接设置到presentationLayer上,而是设置在modelLayer上.当垂直同步信号来临时,presentationLayer需要渲染的时候,就会去modelLayer中获取渲染数据,然后再进行绘制.所以虽然两者并不是完全同步的,但是肉眼是观测不到的.那么为什么Button在动画过程中无法被响应呢?


    标签: 动画 ios objective-c xcode 面试