Querying


Table of Contents

a note from the translation

Wiki Style Guide

  • Developer's Guide
  • Configuration & Querying OpenGL ??
  • Direct Access ??
  • Utility Classes
  • 2D Graphics
  • 3D Graphics
  • Tools
  • Extensions
  • Articles
  • Deprecated (May be outdated)
  • Misc


The Application

Getting the Application Type 获取游戏运行的平台类型

Sometimes it is necessary to special case specific parts of an application depending on the platform it is running on. The Application.getType()


switch (Gdx.app.getType()) {
    case Android:
        // android specific code
        break;
    case Desktop:
        // desktop specific code
        break;
    case WebGl:
        // HTML5 specific code
        break;
    default:
        // Other platforms specific code
}



On Android, one can also query the Android version the application is currently running on:



int androidVersion = Gdx.app.getVersion();



This will return the SDK level supported on the current device, e.g. 3 for Android 1.5.

Memory Consumption 查询游戏运行时占用内存的状况

For debugging and profiling purposes it is often necessary to know the memory consumption, for both the Java heap and the native heap:



long javaHeap = Gdx.app.getJavaHeap();
long nativeHeap = Gdx.app.getNativeHeap();



Both methods return the number of bytes currently in use on the respective heap.


demo:

package com.example.groupactiontest;

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;

public class MyGame implements ApplicationListener {

	
	@Override
	public void create() {
		switch (Gdx.app.getType()) {//获取libgdx游戏所运行的平台
		case Android:
			System.out.println("--------->你现在用的是android设备...");
			break;
		case Desktop:
			
			break;
		case WebGL:
			break;
		default:
			
		}
		
		int androidVersion = Gdx.app.getVersion();//获取你的android设备的SDK版本所对应的API level
		System.out.println("运行所运行的游戏的平台是: " + androidVersion);
	    
		//对本app占用内存的状况的查询
		long javaHeap = Gdx.app.getJavaHeap();//获取javaheap
		long nativeHeap = Gdx.app.getNativeHeap();//获取本地heap
		
		System.out.println( "javaHeap: "+ javaHeap);
		System.out.println( "nativeHeap: "+ nativeHeap);
	}

	@Override
	public void dispose() {
		// TODO Auto-generated method stub

	}

	@Override
	public void pause() {
		// TODO Auto-generated method stub

	}

	@Override
	public void render() {
		Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
	}

	@Override
	public void resize(int arg0, int arg1) {
		// TODO Auto-generated method stub

	}

	@Override
	public void resume() {
		// TODO Auto-generated method stub

	}

}