### Godot version

4.0 beta 10

### System information

Android 12gb ram Mediatek G95

### Issue description

Editor is crashing when opening a project from pc to Android editor. 

### Steps to reproduce

Create a scene from pc editor MEDIUM complex.
Now try to open it in Android editor. 

### Minimal reproduction project

https://github.com/selgesel/godot4-third-person-controller
This project. 

### I recommend.
I recommend to add a crash handler for Android editor.
CustomActivityoncrash is a good library to handle crash and logs are displayed on screen. 
ERR_FAIL_INDEX_V(p_idx, surfaces.size(), -1);
	return surfaces[p_idx].index_array_length;
}
BitField<Mesh::ArrayFormat> ArrayMesh::surface_get_format(int p_idx) const {
	ERR_FAIL_INDEX_V(p_idx, surfaces.size(), 0);
	return surfaces[p_idx].format;
}
ArrayMesh::PrimitiveType ArrayMesh::surface_get_primitive_type(int p_idx) const {
	ERR_FAIL_INDEX_V(p_idx, surfaces.size(), PRIMITIVE_LINES);
	return surfaces[p_idx].primitive;
}
void ArrayMesh::surface_set_material(int p_idx, const Ref<Material> &p_material) {
	ERR_FAIL_INDEX(p_idx, surfaces.size());
	if (surfaces[p_idx].material == p_material) {
		return;
	}
	surfaces.write[p_idx].material = p_material;
	RenderingServer::get_singleton()->mesh_surface_set_material(mesh, p_idx, p_material.is_null() ? RID() : p_material->get_rid());
	emit_changed();
}
int ArrayMesh::surface_find_by_name(const String &p_name) const {
	for (int i = 0; i < surfaces.size(); i++) {
		if (surfaces[i].name == p_name) {
			return i;
		}
	}
	return -1;
}
void ArrayMesh::surface_set_name(int p_idx, const String &p_name) {