AutoJs6
AutoJs6 copied to clipboard
JavaAdapter 栈溢出
版本: 6.6.2 设备: 红米 K50 系统: Android 12 代码:
new JavaAdapter(android.view.View.OnAttachStateChangeListener, {
onViewAttachedToWindow(view) {
toastLog('attached');
},
onViewDetachedFromWindow(view) {
toastLog('detached');
}
});
运行结果
20:23:08.797/E: stack size 8188KB
java.lang.StackOverflowError: stack size 8188KB
at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:734)
at org.autojs.autojs.rhino.AndroidClassLoader.loadClass(AndroidClassLoader.kt:127)
at java.lang.ClassLoader.loadClass(ClassLoader.java:367)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at org.autojs.autojs.rhino.AndroidClassLoader.loadClass(AndroidClassLoader.kt:129)
at java.lang.ClassLoader.loadClass(ClassLoader.java:367)
at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
at org.autojs.autojs.rhino.AndroidClassLoader.loadClass(AndroidClassLoader.kt:129)
...
同样出现了该问题,6.6.1升级6.6.2版本后,相同的代码,新建的适配器报栈溢出
java.lang.StackOverflowError: stack size 8MB at java.util.HashMap$ValueIterator.
(HashMap.java:1468) at java.util.HashMap$Values.iterator(HashMap.java:968)
let logAdapter = new BaseAdapter({
getCount: function() {
return logs.length;
},
getItem: function(position) {
return logs[position];
},
getItemId: function(position) {
return position;
},
getView: function(position, convertView, parent) {
let textView;
if (convertView == null) {
textView = new android.widget.TextView(context);
textView.setPadding(16, 8, 16, 8);
textView.setTextSize(14);
} else {
textView = convertView;
}
textView.setText(logs[position]);
return textView;
}
});