范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Activity跳转发生TransactionTooLargeException怎么办?

  发生TransactionTooLargeException是因为Intent的传值太大了,解决方法很简单,activity跳转使用如下方法就可以避免:SafeIntent.getInstance().startActivity(Context context, JumpIntent intent);  SafeIntent.getInstance().startActivityForResult(Activity activity, JumpIntent intent, int requestCode);  SafeIntent.getInstance().startActivityForResult(Activity activity, JumpIntent intent, int requestCode, Bundle options);
  在activity的onNewIntent方法中还需要这样处理:@Override      public void onNewIntent(Intent intent) {          super.onNewIntent(intent);          SafeIntent.getInstance().onNewIntent(this, intent);      }
  就是这么简单,SafeIntent完整代码如下:import android.app.Activity;  import android.app.Application;  import android.content.Context;  import android.content.Intent;  import android.os.Bundle;  import android.util.ArrayMap;  import androidx.annotation.NonNull;  import androidx.annotation.Nullable;  import java.util.UUID;  /**   * 描述: Activity之间传值安全Intent(避免TransactionTooLargeException)   * 联系: 1966353889@qq.com   * 日期: 2022/1/20   */  public class SafeIntent {      private static volatile SafeIntent mInstance;      private final ArrayMap mArrayMap;      private boolean hasLifecycleCallbacks;      private static final String mSafeIntentKey = "SAFE_INTENT_SIGN";      private SafeIntent() {          mArrayMap = new ArrayMap<>();      }      private void put(String key, JumpIntent value) {          mArrayMap.put(key, value);      }      private void remove(String intentSign) {          mArrayMap.remove(intentSign);      }      private Intent getIntent(String intentSign) {          return mArrayMap.get(intentSign);      }      public static SafeIntent getInstance() {          if (mInstance == null) {              synchronized (SafeIntent.class) {                  if (mInstance == null) {                      mInstance = new SafeIntent();                  }              }          }          return mInstance;      }      /**       * 初始化调用       */      public void init(Activity activity) {          if (hasLifecycleCallbacks || activity == null || activity.isFinishing() || activity.isDestroyed() || activity.getApplication() == null) {              return;          }          hasLifecycleCallbacks = true;          activity.getApplication().registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {              @Override              public void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState) {                  if (activity.getIntent().hasExtra(mSafeIntentKey) && mArrayMap.containsKey(activity.getIntent().getStringExtra(mSafeIntentKey))) {                      activity.setIntent(getIntent(activity.getIntent().getStringExtra(mSafeIntentKey)));                  }              }              @Override              public void onActivityDestroyed(@NonNull Activity activity) {                  if (activity.getIntent().hasExtra(mSafeIntentKey)) {                      remove(activity.getIntent().getStringExtra(mSafeIntentKey));                  }              }          });      }      public void startActivity(Context context, JumpIntent intent) {          put(intent.jumpIntent.getStringExtra(mSafeIntentKey), intent);          context.startActivity(intent.jumpIntent);      }      public void startActivityForResult(Activity activity, JumpIntent intent, int requestCode) {          put(intent.jumpIntent.getStringExtra(mSafeIntentKey), intent);          activity.startActivityForResult(intent.jumpIntent, requestCode);      }      public void startActivityForResult(Activity activity, JumpIntent intent, int requestCode, Bundle options) {          put(intent.jumpIntent.getStringExtra(mSafeIntentKey), intent);          activity.startActivityForResult(intent.jumpIntent, requestCode, options);      }      /**       * 在Activity的onNewIntent中调用       */      public void onNewIntent(Activity activity, Intent intent) {          if (intent.hasExtra(mSafeIntentKey) && mArrayMap.containsKey(intent.getStringExtra(mSafeIntentKey))) {              if (activity.getIntent().hasExtra(mSafeIntentKey)) {                  remove(activity.getIntent().getStringExtra(mSafeIntentKey));              }              activity.setIntent(mArrayMap.get(intent.getStringExtra(mSafeIntentKey)));          } else {              activity.setIntent(intent);          }      }      public static class JumpIntent extends Intent {          private final Intent jumpIntent;          public JumpIntent(Context packageContext, Class<?> cls) {              super(packageContext, cls);              jumpIntent = new Intent(packageContext, cls);              String value = UUID.randomUUID().toString();              jumpIntent.putExtra(mSafeIntentKey, value);              putExtra(mSafeIntentKey, value);          }      }      public abstract static class ActivityLifecycleCallbacks implements Application.ActivityLifecycleCallbacks {          @Override          public abstract void onActivityCreated(@NonNull Activity activity, @Nullable Bundle savedInstanceState);          @Override          public void onActivityStarted(@NonNull Activity activity) {          }          @Override          public void onActivityResumed(@NonNull Activity activity) {          }          @Override          public void onActivityPaused(@NonNull Activity activity) {          }          @Override          public void onActivityStopped(@NonNull Activity activity) {          }          @Override          public void onActivitySaveInstanceState(@NonNull Activity activity, @NonNull Bundle outState) {          }          @Override          public abstract void onActivityDestroyed(@NonNull Activity activity);      }  }

荣耀magic4至臻版和荣耀magic3至臻版相比较,具体做了哪些提升?荣耀magic4至臻版相比较magic3至臻版主要升级1屏幕上,升级LTPO自适应刷新率。2拍照上,主摄规格更进一步,从超大底11。28的底升级到11。12英寸大小,这规格真的非常5GDRX态下的波束管理关于波束管理,在TRP或UE上,通过TX和RX信道互易,可以从RX波束(或TX波束)获得TX波束(或RX波束),以减少开销和延迟如果没有TX和RX信道互易性,波束管理流程可能需要在ArrayList全面详解(看这篇就够了)ArrayList属于Java集合框架最常用的集合,本篇会详解ArrayList的使用与源码mikechenArrayList的定义ArrayList是java集合框架中比较常用的小米12pro和OPPOFindX5Pro,哪个更值得买?用了好几年的iPhone变得卡的很,于是就想尝试一下安卓手机,在小米12pro和OPPOFindX5Pro之间犹豫了很久,最终选择了OPPOFindX5Pro。两款手机配置上都差不node循环加载循环加载(circulardependency)指的是,a脚本的执行依赖b脚本,而b脚本的执行又依赖a脚本。a。jsvarbrequire(b)b。jsvararequire(a)美媒谷歌不给你看的东西来源环球时报美国纽约客杂志3月10日文章,原题谷歌不给你看的东西最近,我在手机上用谷歌搜索最好的烤面包机,结果立即显示出巴慕达等各种高端品牌的产品图片。搜索结果页面最下方是亚马逊和德尔塔奥密克戎新变异毒株出现!在多个国家发现世界卫生组织专家证实,最近在多个国家发现了一种由德尔塔和奥密克戎两种毒株重组而成的一种新变异毒株。那么,德尔塔奥密克戎新变异毒株会更厉害吗?昨天(19日)的发布会上,有关专家对这种拼多多回应六万人砍价两小时不成功情况不实商品已送达近日,游戏主播超级小桀称邀请六万人助力参与拼多多砍价免费领取手机活动,砍了两小时都没成功,引发网络热议。3月19日下午,拼多多官方回应天目新闻称,该消息不实,当事人已砍价成功,且目索尼X85J电视质量怎么样?75X85J索尼电视详细评测应题主要求,我们今天一起来看看索尼75X85J在功能画质处理音质处理以及性能方面到底怎么样。索尼(SONY)KD75X85J索尼(SONY)KD75X85J75英寸体育电视4K超高工信部第354批新车目录解读奥迪Q6和比亚迪海豹,你怎么选?说出来你可能不信,这期工信部新车目录,新能源汽车几乎全是合资品牌的,反而是2。0T的UNIV混动红旗H5新款混动比亚迪SUV撑起了内燃机的阵容。但冷静想想,其实是因为合资品牌汽油车听我一句劝,想要做到3年不换机,符合条件的只推荐这四款为了让手机价值的利用最大化,很多朋友在选购手机时的一个重要需求是耐用。耐用并不仅仅指使用时间长,还包括长时间使用流畅不卡顿,今天小野就给大家推荐4款耐用的性价比强机,一步到位做到3
并发ListSetConcurrentHashMap底层原理剖析ArrayListList特点元素有放入顺序,元素可重复。存储结构底层采用数组来实现的。源码publicclassArrayListEextendsAbstractListEimp小米5080mAh新机爆发,181TB定价7999,雷军野心变大了小米这个手机品牌现在专门走高端路线了,大家可以看到,这两年以来,在小米手机品牌中基本不再有千元机面世。其实小米的性价比任务已经完全移交给红米,雷军是想把小米打造成和三星华为苹果一样ipadminior联想拯救者y700?想拯救者平板Y700,m,这可能是首款小尺寸安卓电竞平板。8。8英寸大小,单手可握,搭载骁龙870处理器,2K120Hz的屏幕,双X轴线性马达和JBL双扬声器,更有极为罕见的3。5JavaScript两个变量交换值(不使用临时变量)概要本文主要描述,如何不使用中间值,将两个变量的值进行交换。前三种只适用于number类型的数值交换,第四和第五种适合其他类型。一普通做法vara1,b2,tmptmpaabbtmansible之playbookansibleplaybookplaybookyml说明playbook由一个或多个play组成。playbook中每个play必须包含hosts和tasks。playbook以yweb前端diff算法深入一下?一前言有同学问能否详细说一下diff算法。简单说diff算法是一种优化手段,将前后两个模块进行差异化比较,修补(更新)差异的过程叫做patch,也叫打补丁。详细的说,请阅读这篇文章影响手机拍照成像水平的有哪些方面?每次看小米新品发布会时都能听到。我们小米的产品采用1亿像素摄像头。让我以为是小米手机的拍照成像是在业内一个最高的水准。但是经过我的多方面认证,去实体店对比。发现像素并不能决定一切。小米新手机外壳曝光5月发布会将发新机?昨晚行业中曝光了小米新手机的外壳,目前已经确定的是该机并不是5月即将发布的MIX系列,而是civi2手机,将会大几率将在5月的小米发布会中亮相。从手机背部的开孔来看,摄像头模组将有怎么开机用u盘重装系统怎么开机用u盘重装系统,首先第一步将我们的这个u盘插入那个电脑的usb接口这款是微钢30的是双启动这款是闪迪的插入以后那么电脑你要重启计算机然后重启计算机出它会出现一个品牌的画面大华为多款新品曝光,三月发布5G新机,鸿蒙OS3。0和Mate50再确定对于华为粉丝来说,现在最关注的两个产品,一个是鸿蒙OS3。0到底什么时候公测,一个是华为Mate50系列到底何时发布。恰好,这两款产品最近都传出了新的消息,下面咱们就来一起说道说道华为mate40pro拍照使用过程的一些感想我用的手机是华为mate40pro,在拍照上配置有三颗镜头,分别是焦距18mm的超广角,焦距23mm的广角,焦距135mm的5倍长焦镜头,使用一段后,在拍照方面有几点看法一拍风景的