2013-08-22 52 views
0

我只是试图与链接共享字符串到我的应用程序。 这里是我的代码:处理开始活动时的错误

public static void shareApp(Activity activity){ 
    ShareCompat.IntentBuilder builder = ShareCompat.IntentBuilder.from(activity); 
    builder.setText("some link") 
      .setType("text/html"); 

    activity.startActivity(builder.createChooserIntent()); 
} 

通常它的效果很好。但有时我得到与一个堆栈跟踪错误:

0 java.lang.OutOfMemoryError: bitmap size exceeds VM budget 
1 at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
2 at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:460) 
3 at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336) 
4 at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697) 
5 at android.content.res.Resources.loadDrawable(Resources.java:1709) 
6 at android.content.res.Resources.getDrawable(Resources.java:581) 
7 at android.app.ContextImpl$ApplicationPackageManager.getDrawable(ContextImpl.java:2201) 
8 at android.content.pm.PackageItemInfo.loadIcon(PackageItemInfo.java:140) 
9 at android.content.pm.ComponentInfo.loadDefaultIcon(ComponentInfo.java:154) 
10 at android.content.pm.PackageItemInfo.loadIcon(PackageItemInfo.java:145) 
11 at android.content.pm.ResolveInfo.loadIcon(ResolveInfo.java:181) 
12 at com.android.internal.app.ResolverActivity$ResolveListAdapter.bindView(ResolverActivity.java:431) 
13 at com.android.internal.app.ResolverActivity$ResolveListAdapter.getView(ResolverActivity.java:415) 
14 at android.widget.AbsListView.obtainView(AbsListView.java:1430) 
15 at android.widget.ListView.measureHeightOfChildren(ListView.java:1216) 
16 at android.widget.ListView.onMeasure(ListView.java:1127) 

或:

0 java.lang.OutOfMemoryError: bitmap size exceeds VM budget 
1 at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method) 
2 at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:460) 
3 at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:336) 
4 at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697) 
5 at android.content.res.Resources.loadDrawable(Resources.java:1709) 
6 at android.content.res.Resources.getDrawable(Resources.java:581) 
7 at android.widget.AbsListView.setOverScrollMode(AbsListView.java:655) 
8 at android.view.View.<init>(View.java:1879) 
9 at android.view.View.<init>(View.java:1921) 
10 at android.view.ViewGroup.<init>(ViewGroup.java:292) 
11 at android.widget.AdapterView.<init>(AdapterView.java:228) 
12 at android.widget.AbsListView.<init>(AbsListView.java:592) 
13 at android.widget.ListView.<init>(ListView.java:163) 
14 at android.widget.ListView.<init>(ListView.java:159) 
15 at com.android.internal.app.AlertController$RecycleListView.<init>(AlertController.java:673) 

此bug已被转载于HTC的Nexus One采用Android 2.3.6,我想在这个设备的问题 - 这是老而慢。 但是,我可以创建一些包装startActivity()方法或其他解决方法来停止此崩溃?

+0

您的内存不足。你是否加载了很多图片? –

回答

0

你的logcat表明你正在运行的内存:

java.lang.OutOfMemoryError: bitmap size exceeds VM budget 

,你说,它工作正常,有时需要什么,我可以建议是,你要先下载停止任何不必要的后台进程一样Advanced Task Manager软件可在Google PlayStore免费获得,运行您的应用程序并再次查看是否可行。

另一个'解决方法'是WeakReferencing您的位图,以便它是第一个被垃圾收集。