private void getSystemInfo()
{
String phoneInfo = "Product: " + android.os.Build.PRODUCT;
phoneInfo += "\nCPU_ABI: " + android.os.Build.CPU_ABI;
phoneInfo += "\nTAGS: " + android.os.Build.TAGS;
phoneInfo += "\nVERSION_CODES.BASE: " + android.os.Build.VERSION_CODES.BASE;
phoneInfo += "\nMODEL: " + android.os.Build.MODEL;
phoneInfo += "\nSDK: " + android.os.Build.VERSION.SDK;
phoneInfo += "\nVERSION.RELEASE: " + android.os.Build.VERSION.RELEASE;
phoneInfo += "\nDEVICE: " + android.os.Build.DEVICE;
phoneInfo += "\nDISPLAY: " + android.os.Build.DISPLAY;
phoneInfo += "\nBRAND: " + android.os.Build.BRAND;
phoneInfo += "\nBOARD: " + android.os.Build.BOARD;
phoneInfo += "\nFINGERPRINT: " + android.os.Build.FINGERPRINT;
phoneInfo += "\nID: " + android.os.Build.ID;
phoneInfo += "\nMANUFACTURER: " + android.os.Build.MANUFACTURER;
phoneInfo += "\nUSER: " + android.os.Build.USER;
phoneInfo += "\nHARDWARE: " + android.os.Build.HARDWARE;
sysInfo.setText(phoneInfo);
}
注:以上是无脑的字符串拼接,建议大家在使用字符串拼接的时候使用StringBuilder类的append()方法去拼接,因为String是不可变的,在每次+新的字符串时,都要重新分配内存,效率低,虽然你感觉不出来,但是这么用不可取。而StringBuilder的效率就要高很多。
简单总结如下:
三者在执行速度方面的比较:StringBuilder > StringBuffer > String
1.如果要操作少量的数据用String
2.单线程操作字符串缓冲区 下操作大量数据用StringBuilder
3.多线程操作字符串缓冲区 下操作大量数据用StringBuffer
StringBuilder:线程非安全的
StringBuffer:线程安全的
当我们在字符串缓冲去被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快,但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。