我正在将静态实例对象用于与应用程序中另一活动相关的数据。但这会导致内存泄漏。
public class ChartActivity extends AppCompatActivity {
private static ChartActivity instance;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chart);
instance = this;
bla bla bla
}
public static ChartActivity getInstance() {
return instance;
}
}
我需要在另一个活动中调用浮动操作按钮,否则我不会将其隐藏。或者我需要再次更新另一个片段中的recyclerview
ChartActivity.getInstance().fabadd.hide();
ChartActivity.getInstance().fabadd.setOnClickListener(new View.OnClickListener() {
@SuppressLint("SetTextI18n")
@Override
public void onClick(View v) {
//
}
});
ChartActivity.getInstance().recyclerViewAdapter.notifyDataSetChanged();
如何解决此问题而又不会导致内存泄漏?预先感谢!
寻找使用意图来传递数据的方法,它很简单,并且您不需要使用活动的静态实例。
示例:
Intent i = new Intent(this,SecondActivity.class);
i.putString("keyData",name); //this keyData will be the key to get the information from activity one to second activity.
startActivity(i);
在您的第二项活动中,您应该检查
Intent i = getIntent();
if(i.hasExtra("keyData"))
{
textview.setText(i.getExtra("keyData"));
}