- 在一个密集的for循环里面,ManagedC++包装的轻对象,不能被GC释放
轻对象是指,在MC++看到只有一个Native的指针,真正的对象在C++侧,可以是很占用内存的一个地方。
但是,GC就是不释放,知道for循环结束之后,才慢慢释放。原因未明,解决办法是手动调用Dispose。 - Android使用C++的结构体的时候出现 signal 7 (SIGBUS), code 1 (BUS_ADRALN), fault addr错误。
C++结构体使用了pack(1),也就是一字节对其。可能触发了Android的非对齐的地址访问。但是,自己手写了各种非对齐的情况,依然无法重现问题。原因依旧未明。解决办法是去掉pack(1)。
怀疑其实是有很小的内存越界,放开pack(1)之后,内存之间的空隙增加了,减少了越界触发的异常。待查证实!
最近遇到C#的两个坑
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
- 被文同时发布在CSDN上,欢迎查看。 APP内存的使用,是评价一款应用性能高低的一个重要指标。虽然现在智能手机的内...