android– 在iOS中管理核心对象

android– 在iOS中管理核心对象,第1张

概述我的任务是在iOS上移植Android应用程序.不幸的是,我之前从未编写过iOS应用程序,所以我有一些基本问题.在Android中,我们编写的应用程序维护了一些我们经常在扩展android.app.Application的类中使用的不同核心对象.当我们需要访问这些对象时,我们将调用getApplication();在这个类中

我的任务是在iOS上移植Android应用程序.不幸的是,我之前从未编写过iOS应用程序,所以我有一些基本问题.

在AndroID中,我们编写的应用程序维护了一些我们经常在扩展androID.app.Application的类中使用的不同核心对象.当我们需要访问这些对象时,我们将调用getApplication();在这个类中,我们存储了两个自定义对象的字典,一个ArrayList,以及一些布尔值,整数和字符串.

任何人都可以告诉我在iOS中执行此 *** 作的正确方法吗?我查看了一个包含所有词典,arrayLists和其他数据的单例类,但我读到这个单例将在应用程序运行的整个时间内存在于内存中.在AndroID中,Application类有时会在一段时间不活动后被垃圾收集,所以我们不得不重新加载它.如果在iOS中,这个单例类在应用程序的整个生命周期中都存在于内存中,我是否应该担心使用太多内存?我应该序列化这些对象并将它们存储在磁盘上,在需要时重新创建它们吗?

解决方法:

androID.app.Application听起来类似于iOS的App Delegate(UIApplicationDelegate).当应用程序的状态发生变化时,App Delegate中的某些方法会被调用,请查看以下方法:

- (voID)applicationWillTerminate:(UIApplication *)application;- (voID)applicationDIDEnterBackground:(UIApplication *)application;

第一个将在应用程序不在后台并且即将关闭时调用(请参阅Tommy的注释),后者如果它将进入后台.我建议每次应用程序进入后台时将数据序列化为永久存储,如果有变化的话.

稍后,您可以通过调用[[UIApplication sharedApplication]委托]并将结果转换为自定义子类来获取对自定义App Delegate的引用.我还建议不要将数据直接存储在App Delegate中,而是存放在委托有引用的模型对象中(它应该有助于使事情更清晰,并为您提供更多的灵活性).

总结

以上是内存溢出为你收集整理的android – 在iOS中管理核心对象全部内容,希望文章能够帮你解决android – 在iOS中管理核心对象所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1118911.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存