viewa

Jetpack Compose 重磅更新!

我只是一个虾纸丫 提交于 2020-11-24 14:20:59
Jetpack Compose 是Google发布的一个Android原生现代UI工具包,它完全采用Kotlin编写,可以使用Kotlin语言的全部特性,可以帮助你轻松、快速的构建高质量的Android应用程序。如果你还不了解Jetpack Compose是什么?建议你读一下我前面的2篇文章: 原创|Android Jetpack Compose 最全上手指南 Jetpack Compose,不止是一个UI框架! 去年的Google IO 大会上,Google宣布了Jetpack Compose的面世,但是在去年11月份,它才发布第一个预览版-Developer Preview1,此后,基本保持每两周发布一个小版本,到现在,半年的时间过去了,中间发布了十多个小版本,今天,终于迎来了重大更新,Developer Preview2 发布了。 Jetpack Compose Developer Preview1发布后,开发者最关心的几个问题是,没有Compose版本的RecyclerView、Constriantlayout、动画等一系列问题。这些问题在Preview2都解决了。 当然,从Preview1 到现在发布的Preview2,变化非常大,甚至很多API都已经变了,有的属性或者类的增加或者删除。具体的变换化太多,就不在这里一一讲解,感兴趣的可以看看官方的每个小版本的更新日志

搜狗、字节,iOS面试算法题 (2020)

天涯浪子 提交于 2020-08-04 23:54:09
现在面试iOS中高级开发,算法题已是必然会出现的一个环节了,这里把面试遇到的算法题做一个小汇总,希望对大家有用。大部分公司是需要直接手写算法题的,这块儿的能力不容忽略的。 1:编程实现字符串拷贝,要考虑下内存重叠问题。 (搜狗) 2:对输入的字符串,去除其中的字符‘b’以及连续出现的‘a’和‘c’ (字节) 3:如何求两个 View 的最近公共父类 (字节) 1:编程实现字符串拷贝,要考虑下内存重叠问题。(搜狗) 解决思路 :既然要考虑内存重叠的问题,就是说可能目标地址的起始位置是在源字符串的后半段,或者目标的结束位置在源字符串的前半段。第一种情况,从末尾开始复制可以解决问题,同理:第二种情况,从首位开始复制可以解决问题,代码如下: char *memcpy_qi(char *dst, const char* src, int cl) { assert(dst != NULL && src != NULL); char *ret = dst; if (dst >= src && dst <= src+ cl-1) //内存重叠,从高地址开始复制 { //挪开空间 dst = dst+ cl-1; //将指针挪到结尾 src = src+ cl-1; while (cl—) *dst— = *src—; } else //正常情况,从低地址开始复制 { while (cl—)