获取Android系统信息

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的,就是速度的原因。


本文出自 “旦旦家园” 博客,转载请与作者联系!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。