如何冻结设备?

时间:2016-03-29 05:38:43

标签: android

这是一个有点奇怪的问题,但是,我需要这个项目。我试图通过在自己的onCreate中调用活动来模拟“ out of memory ”效果(这无限地调用活动),这非常好用

// launch this activity again and again making the device freeze and
    // reboot
    Intent intent = new Intent(Intent.ACTION_MAIN);
    intent.setComponent(new ComponentName("com.android.systemmanager",
            "com.android.systemmanager.FreezeScreen1"));
    startActivity(intent);

但这里的问题是我不想使用任何类。我想在我的广播接收器的onReceive中执行此操作。鉴于没有任何课程可以调用,我怎样才能完成这个?

还有其他方法可以让设备冻结吗?

我也使用AlarmManager每秒调用我的onReceive。这有助于加快冻结过程

2 个答案:

答案 0 :(得分:0)

一个解决方案可能就是这样:

@Override
public void onReceive(Context context, Intent intent) {
     ArrayList<Bitmap> bitmapArray = new ArrayList<Bitmap>();
     final int TOTAL_BITMAPS = 1000; //any large number would work.
     for(int i=0; i<TOTAL_BITMAPS; i++){
          Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.large_image); // load a large bitmap from drawable..
          bitmapArray.add(bitmap);
     }
}

答案 1 :(得分:0)

创建此方法

private void stackOverFlow()
{
    this.stackOverFlow();
}

然后,只要您希望应用冻结,请调用此方法。