我正在尝试减少程序的内存占用,并希望使用scala的override func scrollViewDidScroll(scrollView: UIScrollView) {
if scrollView.contentOffset.y > CERTAIN_POINT {
scrollView.scrollEnabled = false
scrollView.scrollEnabled = true
}
}
来定义一个像java Value class
一样的变量,如here所述。
我对班级的定义是:
primitive type
它使用具有以下签名的可序列化特征:
class userhashVal(val data: Int) extends AnyVal with Serializable
因此它与链接中指定的需求兼容(特征仅允许扩展通用特征)。我必须添加Serializable特性才能使它与Spark兼容。
我期望每个trait Serializable extends scala.Any with java.io.Serializable
元素只占用4个字节作为Java的int。但是使用剖析器我得到以下图片:
我看到这个elemtn所占用的内存是20个字节,我知道它仍然可以作为一个类,因为它有一个类加载器。
我在这里缺少什么?我做错了什么?