首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一个优秀程序员不可避免的问题:内存泄漏

危害的话,开篇所说。如果泄漏的内存很小,几字节,几kb….对于现在的机器性能,就像星爵灭霸…“伤害”基本无视。...,也就是说还是要显示的传一个BadActivity我们需要的变量进来…但是这样有造成了同样的泄漏问题。...解决也很简单,适当的时机,在单例中将Listener的引用置为null。这样,Listener和单例之间的引用关系断了,Listener链上的所有内容就可以被正常释放掉了。...类似不注意的内容,还包括Lambda。...不过有一点值得注意的,在Kotlin的Lambda,如果我们没有使用外部对象的变量或者方法,那么Kotlin在编译时,这个Lambda是不会持有外部对象的引用的。

63140

kotlin-android-extensions插件也被废弃了?扶我起来

" android:layout_height="wrap_content" /> 非常简单,布局文件只有一个TextView控件,它的id是viewToShowText...当然这个我认为并不是主要原因,因为现在Google开发的各种新技术都在全面兼容Kotlin,而不再怎么去考虑Java了,协程、Jetpack Compose等。 那么主要原因是什么呢?...最重要的是,这些内容对于绝大部分开发者来说都是黑盒,使用kotlin-android-extensions插件的人可能并不知道这些隐藏的“坑”,这个问题在稍后介绍RecyclerView Adapter...关于Kotlin空类型系统这里我就不展开介绍了,还不了解的朋友可以去参考《第一行代码 第3版》第2章的内容。...讲完了kotlin-android-extensions插件的“坑”,接下来我们还是看一下如何在Adapter中使用ViewBinding,别忘了我们的目标始终是不写findViewById。

2.7K31
您找到你想要的搜索结果了吗?
是的
没有找到

Kotlin学习日志(二)数据类型

二、数组 说到数组,我们首先看一下Java的声明数组并初始化 int[] int_array = new int[] {1,2,3}; 然后是Kotlin声明数组并初始化 var int_array...,这个和在Java是不一样的,Kotlin不存在名为StringArray的数组类型,因为String是一种特殊的基本数据类型,要想在Kotlin声明字符串数组,得使用Array类型...,同时,分配字符串数组的方法也变成了arrayOf,下面是Kotlin声明字符串数组的代码示例 var string_array:Array = arrayOf("One","Two"...,接下来就是操作这个数组了, 2.1数组元素的操作 对于数组的操作,常见的处理包括获取数组的长度、获取指定位置的数组元素,这些操作在Kotlin与Java是有区别的,如下: (1)获取数组长度,Java...,并显示最终结果在TextView上,循环中的逻辑也比较简单,取出i对应的数组元素,赋值给str,并用逗号隔开,取出的方式可以自选其一,这里就不过多的赘述了,赋值完成之后,i++,这是i就变成1,然后取数组第二个值

3.3K20

Kotlin学习日志(四)函数

一、函数的基本用法 函数这个词相信各位不会陌生,而Kotlin也是使用了众多函数的,正所谓面向函数编程。..."wrap_content"/> <TextView android:textColor="#000" android:id="@+id/tv_result"...我这一顿操作的意义何在呢?不是说默认参数吗?请听我慢慢道来,Kotlin引入了默认参数的概念,允许在定义函数时直接指定输入参数的默认值。...4.2 日期时间函数 在日常的开发,除了数组之外,日期和时间的相关操作也是很常见的,比如获取当前日期、获取当前时间、获取指定格式的日期时间等,基本上每一个采取Java编码的Android工程都需要一个...10点 小写的hh 表示12小时制的两位小时数字,06可同时表示早上6点与傍晚6点,容易产生歧义所以实际开发很少用 小写的mm 表示两位分钟数字,45表示某点45分 小写的ss 表示两位秒钟数字

1.8K10

Android | xml和view的那些事

嗨,我是写博客满脑子骚东西的哈利迪~今天和大伙聊聊Android的xml和view的那些事,首先会分析一下xml布局解析inflate的流程,然后会介绍一些业内的方案,: 提效篇: JakeWharton...9.0 native函数动态注册,android_util_XmlBlock.cpp: //android_util_XmlBlock.cpp //需要动态注册的native函数数组 static...//直接访问控件 tv_kotlin.text = "kotlin 扩展插件" } } 使用kotlin扩展插件有个明显的问题,就是控件的“裸奔”问题,比如我在activity输入....setId(R.id.tv); textView2.setText("文案内容"); textView2.setLayoutParams(layoutParam2);...哈迪在inflate章节猜测:Android的xml的二进制解析是不是流式、指针移位的方式来操作?

1.9K11

Android开发常用的知识点

// color数组的意思是从浅灰 -> 灰 -> 灰 -> 浅灰。...// float数组与color数组对应: // 0 -> 0.3 (变深) // 0.3 - 0.7 (不变色) // 0.7 -> 1 (变浅)...{ num_textview.setSelection(num_textview.text.length) } }) 监听焦点变化 num_textview.setOnFocusChangeListener...系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。...相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。

2.5K10

Kotlin学习日志(三)控制语句

布局文件: <TextView android:layout_marginTop="20dp" android:textColor="#000" android...四、等式判断 4.1 结构相等 基本数据类型整型、长整型、浮点型、双精度、布尔类型,无论是在C/C++还是在Java抑或是在Kotlin,都使用双等号 “==”进行两个变量的相等性判断,而Kotlin...oneArray" //in用于判断变量是否位于数组或容器,Java判断数组是否存在某元素只能采用循环遍历的方式 val...oneArray" //in用于判断变量是否位于数组或容器,Java判断数组是否存在某元素只能采用循环遍历的方式 val...oneArray" //in用于判断变量是否位于数组或容器,Java判断数组是否存在某元素只能采用循环遍历的方式 val

94840

Kotlin 学习笔记(三)

就是将对象 T 去执行闭包里的操作,通常在 Android 开发,需要对一个 TextView 赋值时,就可以使用 with,比较方便: // code 5 with(textView) {...反引号还有一个作用,就是在 Kotlin 代码中将一个不合法的字符转变为合法字符。...为了让 Java 不能访问 Kotlin 的函数,可以在 Kotlin 中将这些函数的命名改为不合法的形式,然后用反引号包起来,这么做之后,Java 代码是不能调用这些方法的,而 Kotlin 可以调用...Kotlin 的常量变量 根据笔记一内容,我们知道,Kotlin 有两种变量,一种是用 val 关键字修饰的不可变的变量;另一种是用 var 关键字修饰的可变的变量。...如何在对这两种变量进行初始化呢?

53810

Kotlin 轻量级Android开发

Kotlin是一门非常简单的语言,其主要目标之一就是提供强大语言的同时又保持简单且精简的语法。 kotlin 特性 其主要特性如下所示: 轻量级:这一点对于Android来说非常重要。...Android对于方法数量有严格的限制,Kotlin只额外增加了大约6000个方法。 互操作:Kotlin可与Java语言无缝通信。...} 这展示了Kotlin另一个出色的特性:智能类型转换。如果检查了变量的类型,那就无需在检查作用域中对其进行类型转换。这样,我们现在就可以在if中将artist作为Artist类型的变量了。...互操作 Kotlin提供了一些非常棒的互操作特性,这对于Android开发帮助非常大。其中之一就是拥有单个方法的接口与lambda表达式之间的映射。...5050 5050 Anko Anko是Kotlin团队开发的一个库,旨在简化Android开发。

90710

Kotlin 第一弹:自定义 ViewGroup 实现流式标签控件

Kotlin 构造函数与 Java 的构造方法也有不同。大家可以仔细感受一下。...,其实这一步是有意为之,我特地为了测试在 kotlin 获取自定义属性弄了这么一处。...kotlin 函数的定义 kotlin 用一个关键字 fun 定义函数,如果不指定返回值,它返回的是 Unit,Unit 跟 Java 的 Void 类似,但 Unit 是真正的对象。...kotlin 的条件循环 上面的代码我们看到了一个 for 循环,但是跟 Java 的也不一样。...kotlin 现在还挑战不了 Java,大家感兴趣可以学学,如果最后用 kotlin 是大势所趋的话大家再来运用在工程也不迟。 再重申一遍,我对 Java 有感情,我还需要对它深入研究。

1.2K20

Kotlin成了Google的亲儿子,现在赶紧来学学

那么,我们该如何在Android应用这门新的语言呢?今天的这篇文章带你学习使用Kotlin开发Android应用,并对比我们传统语言Java,让你真真切切的感受到他的美和优雅。...好了,言归正传,Anko是Kotlin官方开发的一个让开发Android应用更快速更简单的Kotlin库,并且能让我们书写的代码更简单清楚更容易阅读。它包括多个部分,如下 ?...那么接下来,我们就通过代码来理解Kotlin语言开发Android的优势所在。...有时候写的是不是想吐,可能有些人说现在不是有一些注解的库,butterknife,当我们使用注解时可以不用findViewById了,使用方式如下 ?...我们在OnCreate方法可以去掉setContentView,然后加入上面代码就可以显示如下图的效果,即一个垂直的线性布局,放了一个TextView,一个EditText,和一个Button。

1.4K40
领券