LitePal icon indicating copy to clipboard operation
LitePal copied to clipboard

无参构造方法

Open v1ncent9527 opened this issue 3 years ago • 3 comments

今天发现一个奇怪的问题 打debug包的时候没问题 打release包安装以后打开发现以下crash

android.os.Parcel has no constructor. LitePal could not handle it

我刚开始以为是混淆的原因,捣鼓了半天还是不行。 在Isuues溜了半天,给对象添加了一个无参构造方法,我曹(sorry)奇迹出现了。。。我人晕了

郭神,嘛原因啊?

v1ncent9527 avatar Nov 27 '20 10:11 v1ncent9527

你是不是给实体类实现了一个接口,然后就报这个接口类no constructor了,我遇到的是在7.0上正常,9.0上crash,看到你这个我决定试一下

NightlyException avatar Dec 08 '20 01:12 NightlyException

LitePal在创建对象实例的时候,用的是一种算法机制去找寻最合适的构造方法,但是我发现这种方式时不时会产生一些诡异的问题,比如说你现在遇到的这种情况。

下个版本当中,我会将LitePal创建对象的方式完全变更,改用Unsafe API的方式,这样应该就不会再产生这种诡异的问题了。

guolindev avatar Dec 13 '20 06:12 guolindev

LitePal在创建对象实例的时候,用的是一种算法机制去找寻最合适的构造方法,但是我发现这种方式时不时会产生一些诡异的问题,比如说你现在遇到的这种情况。

下个版本当中,我会将LitePal创建对象的方式完全变更,改用Unsafe API的方式,这样应该就不会再产生这种诡异的问题了。

我看新版本3.2.3还会这样,是还没改呢吗?

jqorz avatar Jun 17 '21 07:06 jqorz