类型的声明与使用
val与var
val 不可变引用,var 可变引用。
我们应该尽可能使用val关键字来声明所有的kotlin变量,why?
首先一个变量在声明时是不可变的,那就代表你在使用的时候不需要考虑其他地方会对它重新赋值和改变(对于对象注意只是引用不可变),直接使用。
val声明的类型由于必须初始化,它是线程安全的。
kotlin为了保证类型安全,所有变量声明的地方必须要做初始化,即显示赋一个初值。
select * from learn
Hexo 的 Next 主题默认是首页显示你每篇文章的全文内容,那么要如何设置只显示部分呢?
目标 > 在网站首页只显示每篇文章的部分内容,不要全部内容都展示出来。
解决 > 要解决这个问题有两个方法:一是修改 主题 _config.yml 文件设置,而是直接在你的 md 中加一句代码即可。
我们知道,从远端拉取数据肯定是要放在异步的,在我们拉取下来数据之后可能就匆匆把数据丢给了 VH 处理,其实,数据的处理逻辑我们也应该放在异步处理,这样 Adapter 在 notify change 后,ViewHolder 就可以简单无压力地做数据与视图的绑定逻辑,比如:
1 | mTextView.setText(Html.fromHtml(data).toString()); |
这里的 Html.fromHtml(data)
方法可能就是比较耗时的,存在多个 TextView
的话耗时会更为严重,这样便会引发掉帧、卡顿,而如果把这一步与网络异步线程放在一起,站在用户角度,最多就是网络刷新时间稍长一点。
有些用户下载了一些程序之后,却发现无法在MAC中安装,安装时会弹出下图所示警告框:“打不开 xxx,因为它来自身份不明的开发者”。那么该如何解决这个问题呢?
在MAC下安装一些软件时提示”来自身份不明开发者”,其实这是MAC新系统启用了新的安全机制。
默认只信任 Mac App Store 下载的软件和拥有开发者 ID 签名的应用程序。
换句话说就是 MAC 系统默认只能安装靠谱渠道(有苹果审核的 Mac App Store)下载的软件或被认可的人开发的软件。
这当然是为了用户不会稀里糊涂安装流氓软件中招,但没有开发者签名的 “老实软件” 也受影响了,安装就会弹出下图所示警告框:“打不开 xxx,因为它来自身份不明的开发者”。
虽然 Android 9.0 都已经面世了,本篇文章写的有点迟了。 但是迟到好过不到,因此基于此这边还是记录一下项目中遇到的 Android 8.0 的坑及对应解决方法。
每次系统升级,虽然系统功能更加强大了,各方面性能也提高了。
但是对于开发者而言,一个困扰的问题也是随之而来——兼容。
尤其对于一些已经上市的 App 而言,在新系统发布之前就要了解到底有哪些改动,以避免用户升级新系统后导致 App 没法正常运行。
好了,回归主题,说说 Android 8.0 里面的几个坑吧。