[Android]这样到底会不会造成内存泄露?

phyooos 2017-10-11 11:04:46
在SecondActivity中有一个方法

public class SecondActivity extends AppCompatActivity {

private static final String TAG = "SecondActivity";

//跳转到当前页面
public static void start(Context context,String str){
Intent intent = new Intent(context,SecondActivity.class);
intent.putExtra(TAG,str);
context.startActivity(intent);
}
//...
}


这是一个静态方法,用于我在其他页面调用,跳转到这个activity.
比如:


public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}


public void clickFirst(View view){
//跳转到第二个页面
SecondActivity.start(MainActivity.this,"something");
finish();
}
//...
}



我个人认为是没有问题的,但是领导一直说会引起内存泄露
但是我跳转后就在第二个页面,第二个页面并没有持有MainActivity的Context引用啊
怎么会造成内存泄露那?



...全文
325 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨焰 2017-11-08
  • 打赏
  • 举报
回复
你就差一句话了,让你领导帮你解释一下,有啥不好意思的?
怀君 2017-11-08
  • 打赏
  • 举报
回复
不知道你为什么要这样写。。。。
蔡树伟 2017-11-07
  • 打赏
  • 举报
回复
没问题,我也是这么写的
elsemind 2017-11-07
  • 打赏
  • 举报
回复
容易导致内存泄露的其中一项是静态变量不是静态方法,内存泄漏的本质是生命周期不一致,你的代码和这两样都扯不上关系; 你领导不懂装懂,看到static就以为会内存泄露
-天宇 2017-11-07
  • 打赏
  • 举报
回复
没问题的,你领导装逼装过了
xiaohuh421 2017-10-12
  • 打赏
  • 举报
回复
我也看不也来哪个会泄露. 待高手来分析
AndroidDev2022 2017-10-12
  • 打赏
  • 举报
回复
我认为没有问题~~~
节操在此 2017-10-12
  • 打赏
  • 举报
回复
不会,静态方法并不会跟某个对象挂钩啊
程序员一鸣 2017-10-12
  • 打赏
  • 举报
回复
静态的生命周期比较长,其实你这样写没有问题,不会造成泄漏的

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧