我试图通过Intent.putExtras
这样将数据从一个活动传递到另一个活动:
private ArrayList<HashMap<String, String>> mGroups = new ArrayList<HashMap<String, String>>();
private ArrayList<HashMap<String, String>> mUsers = new ArrayList<HashMap<String, String>>();
...
Bundle data = new Bundle();
data.putInt("mode", mode);
data.putSerializable("groups", (Serializable) mGroups);
data.putSerializable("users", (Serializable) mUsers);
data.putInt("current_class", mCurrentClassId);
data.putInt("current_user", mCurrentUserId);
Intent intent = new Intent(ctx, ChildActivity.class);
intent.putExtras(data);
ctx.startActivityForResult(intent, 0);
这mUsers
是HashMap<String,String>
包含用户数据的列表,包括Base64编码的照片,此列表中字符串大小的总和约为500Kb
打电话到startActivityForResult
黑屏挂了几分钟,然后出现ANR错误。onCreate
完全不调用子活动。
如果我不向mUsers中添加大字符串(没有Base64编码的照片),则可以正常工作。
请帮忙。
如果两种活动都是您的,请使用体面的数据模型。Android不鼓励设计精良的应用程序。或换种说法,它允许快速开发应用程序,而不会促进很多好的软件应用程序html" target="_blank">原理。
@ Jean-Philippe Roy(québec?)的解决方案很有趣,但单身人士在涉及更复杂的事物(即全状态模型或serviceS)时,是一种反模式。
最好的选择是使用应用程序类。这个类是您的单例,自然是在android中。所以,
-–在@straya的回答和18个月以上的Android编程后更新:)
在构建Android应用程序时,始终会想到在应用程序,活动,视图,片段之间共享数据结构或流程的问题。重要的是要知道并考虑到应用程序范围是保存共享结构的正确位置,但是就以下方面而言,使用应用程序类本身在该范围中放置数据结构是不可行的:
我现在倾向于使用依赖注入管理的单例。Dagger或RoboGuice都允许创建给定类的单个实例并将其注入其他类。这项技术以及DI通常为良好的Android设计提供了巨大的可能性:
问题内容: 如果我在表中有一列具有类型字段,并且如果我尝试插入长度为16的数据,MySQL会提示错误 有谁知道为什么MySQL中的VARCHAR字段采用固定长度?另外,基于给定的大小,每个记录的VARCHAR字段会占用多少字节? 问题答案: 如果将一列设置为允许的最大字节数为15,则在不修改该列以使其支持超过15个字符的情况下,最多不能传递15个字符。如果存储4个字符串,则只能使用约4个字节可能的
问题内容: 我正在使用PHP代理来获取文件的内容。我想使用功能强大的jQuery选项搜索该文件,而不必在PHP中编写各种查询。这是我的PHP代码: 如果加载的页面太大,PHP将读取整个文档,但是json_encoding它只会提供文件的第一部分,而不是整个文件。我找不到有关JSON传递数据的大小限制的任何信息,但显然有一个。 问题:是否有变通办法来防止仅部分文件被传输? 我需要从其他域中获取文件,
问题内容: elasticsearch新手。编写搜索查询返回我集合中所有匹配的记录时遇到问题。以下是我对搜索记录的查询 通过运行此查询,我最多只能获取10条记录,请确保我的集合中有10条以上匹配的记录。我搜索了很多,最后在查询中得到了大小参数。但就我而言,我不知道记录总数。我认为给size变量一个无限的数字不是一个好习惯,因此如何处理这种情况请帮助我解决此问题,谢谢 问题答案: 显示所有结果不是很
[3]#load#27(::base.iterators.pairs{Union{},Union{},Tuple{},NamedTuple{(),Tuple{}}},::function,::file{DataFormat{:jld2}})在/path/.julia/packages/fileio/y0lre/src/loadsave.jl:193 [4]在/path/.julia/package
问题内容: 我有时编写Python程序,这些程序很难确定执行前将使用多少内存。因此,有时我会调用一个Python程序,该程序试图分配大量RAM,从而导致内核大量交换并降低其他正在运行的进程的性能。 因此,我希望限制Python堆可以增长多少内存。达到限制后,程序可能会崩溃。最好的方法是什么? 如果重要的话,很多代码都用Cython编写,因此应该考虑在那里分配的内存。我还没有嫁给一个纯粹的Pytho
问题内容: 在HighChart中,我需要针对x和y轴绘制一系列数据。HighChart希望数据为json格式。即[[x,y],[x,y]……[x,y]]。其中x和y是时间(1392345000-Unix纪元格式)和值(49.322)。因此,我正在进行ajax调用以获取数据,并成功将json返回的数据渲染为highchart。在大多数情况下,即,如果data([x,y])的计数低于87500行,则