Android Studio向我显示错误加载:id = gralloc!= hmi-> id = gralloc

时间:2017-10-01 08:48:03

标签: java android android-studio

我的IDE显示错误,即使是空项目。如您所见,我使用空活动创建新项目。应用程序在移动设备上成功启动并正常运行。但是logcat工作不正常或其他任何我被困住的事情都会帮助我。当我连接我的手机时,即使我没有构建项目,logcat也充满了指令/日志。

enter image description here

enter image description here

4 个答案:

答案 0 :(得分:2)

<强>更新

首先,gralloc代表低级图形缓冲区分配器

  

gralloc是HAL(硬件抽象层)的一部分   表示实现是特定于平台的。你可以找到   接口定义   硬件/ libhardware /包含/硬件/ gralloc.h。正如预期的那样   HAL组件,接口分为模块接口   (gralloc_module_t)和设备接口(alloc_device_t)。

错误级别非常低,与OpenGLRenderer有关。您的设备正在尝试打开某些64位库文件,但如果失败。然后发生错误。

我对此进行了非常深入的搜索,但没有任何有用的信息。

尝试在其他设备上运行应用,然后再次看到错误。

如果错误未导致崩溃或其他重要问题,请继续开发。如果找到解决方案,您将再试一次。

答案 1 :(得分:0)

在我的情况下,我尝试使用Application类静态上下文调用新的Activity,并将其更改为本地静态Activity,并解决了问题。 请注意,并非在所有设备上都发生此问题,而是在某些情况下才发生。

private  static MainActivity u_static;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_users);
    u_static = this;
}
  public  static void new(int id, String name){

    Intent i  = new Intent(u_static, NewActivity.class);
    u_static.startActivity(i);

}

我注意到在某些设备中,当应用程序停止工作而不显示错误时,就会发生此错误。跟踪和调试代码。

答案 2 :(得分:0)

关于疯狂的E / HAL:负载:id = gralloc!= hmi-> id = gralloc 错误原因:通常,这是由于未获取控件对象,执行了控件的click事件以及空值与初始化控件有关而引起的。 为

private Button bt;  
bt.setOnclickListener(new OnClickLisenter(){....});

有问题吗?是的!

  1. xml布局控件

    检查Java代码中是否缺少findViewById()! 上面泄露的bt = (Button) findViewById(R.id...);

  2. java动态新控件/自定义控件错误

    检查您是否忘记创建对象! 上面泄露的bt = new Button();

因此更改上述代码的正确方法是:

private Button bt;
bt=(Button)findViewById(R.id...); 

答案 3 :(得分:0)

在使用runnable并传递未分配的视图时遇到了此问题。 这是由空的视图对象引起的,其中findViewById返回空值。 无需传递视图对象传递值,而是通过视图保存解决了该问题。