草庐IT

parcel-cache

全部标签

android - Parcelable vs 从数据库读取的效率

我有一个以下列方式列出“学期”的fragment:它访问数据库,生成一个数组,然后通过ListAdapter将其转换为View。在该fragment中还有一个添加按钮,用于打开一个新Activity,用户可以在其中创建一个新学期,该学期也将在同一Activity中插入到数据库中。创建一个学期后,我显然想在用户返回列表时显示它。为此,我有2个选择:将创建的学期作为对象发送回fragment。问题是它要求我在我的大多数类上实现Parcelable接口(interface),因为它们是嵌套的,这真的很乏味。使列表重新读取数据库中的学期并从头开始重新创建View。我的问题是;哪种方式会更快更有

android - 我怎么知道我的 Parcel.readStringArray() 数组有多大?

当我这样做时,我得到一个空指针异常:privateString[]foo;privatevoidreadFromParcel(Parcelin){in.readStringArray(foo);}看来我需要先分配数组。但是我怎么知道要让它变大呢?是不是要先写尺寸再读尺寸?有一个writeStringArray()方法来为我处理这个问题难道不是重点吗?来自AndroidDocumentation:Thereareavarietyofmethodsforreadingandwritingrawarraysofprimitiveobjects,whichgenerallyresultinwr

java - 为什么即使我没有实现必要的功能,Parcelable 也能工作?

我想在屏幕旋转期间保留一个复杂的java对象,所以我将对象设为Parcelable并实现了必要的方法:在writeToParcel(Parceldest,intflags)方法中,我将一些值保存到“dest”。在Parcelable.Creator的createFromParcel(Parcelsource)方法中,我以正确的顺序从“源”获取值并返回适当的对象。然后在Fragment的onSaveInstanceState中我保存了Parcelable:@OverridepublicvoidonSaveInstanceState(BundleoutState){super.onSave

android - 使用 Parcelable 将绘图保存到磁盘

我正在使用此代码保存和恢复我的自定义手绘View,如何使用此代码将我的绘图以矢量格式(而非位图)保存到sdcard上的文件和在下一个应用程序session中重新加载:@OverrideprotectedParcelableonSaveInstanceState(){//GetthesuperclassparcelablestateParcelablesuperState=super.onSaveInstanceState();if(mPoints.size()>0){//Currentlydoingaline,saveit'scurrentpathcreateHistoryPathFr

android - Parcelize 在对象和枚举上提示 "Parcelable should be a class"

当我尝试使用@Parcelize注释enumclass或object时,会导致错误'Parcelable'should是一个类,既作为编辑器提示又作为编译失败。我可以@Parcelize类就好了,但我不能做类似的事情@ParcelizeobjectMySingletion:Parcelable@ParcelizeenumclassDirection:Parcelable{N,E,W,S}即使Kotlin网站explicitlystates也会发生这种情况支持对象和枚举。有没有办法解决这个问题,以便我可以@Parcelize这些类型的类?理想情况下,是否有一种解决方案不涉及手动编码par

android - 无法在带有大文本 : "Font size too large to fit in cache" 的 Android TextView 中显示 Unicode 字符(表情符号)

我试图在TextView中显示单个Unicode字符(表情符号),文本大小较大:mEmojiTextView=(TextView)findViewById(R.id.emoji_text_view);mEmojiTextView.setTextSize(200);mEmojiTextView.setText("\uD83D\uDE01");字符没有出现在屏幕上,我在logcat中得到这个错误:E/OpenGLRenderer﹕Fontsizetoolargetofitincache.width,height=545,513有效的最大尺寸是mEmojiTextView.setTextSi

Android ART - 在/dalvik-cache/中使用 .oat 文件?

在使用AndroidART和在应用程序安装过程中创建的“native”代码文件.oat/.elf时,我确实注意到了一些奇怪的事情。据我了解,如果设备使用的是ART(Android>=5.0),应用程序将从编译的oat文件(/data/dalvik-cache/arm64/)开始。这就是为什么我在检查应用程序的已用fd时并没有在那里找到该文件时感到有点惊讶。那里只列出了普通的apk(/data/app//base.apk)。检查我的“ls-l/proc/PID/fd”的这个输出所以我想也许它只是没有列在那里。所以我通过使用dex2oat工具编译另一个classes.dex自己交换了那个应

java - Parcelable 在没有正确实现的情况下工作

在Android应用程序中,我将Bundle从Activity发送到Fragment。publicclassBarimplementsParcelable{privateMaphash;privateintid;protectedBar(Parcelin){id=in.readInt();}publicBar(intid,Mapmap){this.hash=map;this.id=id;}publicstaticfinalCreatorCREATOR=newCreator(){@OverridepublicBarcreateFromParcel(Parcelin){returnnewB

java - ArrayList<custom-object> 的 Parcelable 实现

我认为这只是一个愚蠢的错误,但ArrayList总是以null结尾。这让我发疯所以我想寻求帮助。项目等级:importandroid.os.Parcel;importandroid.os.Parcelable;publicclassStoryTagimplementsParcelable{privateStringtagTitle;privateintoccurrence;publicStoryTag(){}publicStoryTag(Parcelin){tagTitle=in.readString();occurrence=in.readInt();}publicStringget

android - Location Client 在 PendingIntent 中请求位置更新和 parcelable extras

我正在使用LocationClient和PendingIntent来获取位置更新。PendingIntent.getService(context,0,newIntent(context,OnLocationAvail.class),PendingIntent.FLAG_UPDATE_CURRENT)上面的代码工作正常我从键LocationClient.KEY_LOCATION_CHANGED获取位置但是,当我有如下所述的额外可打包数据时,将使用可打包数据调用服务,但Intent额外内容中的键LocationClient.KEY_LOCATION_CHANGED始终为空。Intentc