今天無意中看到這個問題邑雅,苦于搜索沒有答案。
外面眾說紛紜妈经,有2M的有1M的淮野,也有512K和來自知乎的40K
就自己實測一下,Android 7.0 小米5手機
通過構(gòu)件字符串進行簡單的實測
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent=new Intent(this,SecondActivity.class);
intent.putExtra("data",getString());
startActivity(intent);
}
private String getString(){
StringBuilder sb=new StringBuilder();
for(int i=0;i<1024*250;i++){
sb.append("a");
}
return sb.toString();
}
}
在測試過程中
1024250是可通過的
1024256則是啟動Activity后 界面沒有展示也無響應(yīng)吹泡,就是空白一片
1024*512則是程序直接閃退
所以推斷結(jié)果應(yīng)該是10242562(一個字符2個字節(jié))
為什么是這個數(shù)骤星,在啟動Activity過程Intent也會攜帶一些數(shù)據(jù)
限制大小應(yīng)該是512K