草庐IT

android - 我在泄漏上下文吗?

我正在使用来自多个Activity的AlarmManager在我的应用中设置闹钟。为了避免冗余代码,我创建了以下类:publicclassCustomAlarmManager{privatestaticfinalStringSHARED_PREF_REQUEST_CODE="requestCode";privatestaticfinalStringKEY_REQUEST_CODE="kRequestCode";privateCustomAlarmManager(){}publicstaticvoidsetNewAlarm(Contextcontext,longtimeInMillis)

android - AudioTrack 的内存泄漏

我在AudioTrack和MediaSync一起使用时遇到严重的内存泄漏问题。在我看来,问题是AudioTrack没有释放一些原生资源。因此,该应用程序只能运行几次,之后,由于不再有可用的轨道,因此无法创建AudioTrack。下面是一个导致内存泄漏的简短示例。可以下载完整的项目here在GitHub上。APK文件可以下载here.finalMediaSyncmediaSync=newMediaSync();mediaSync.setSurface(mSurface);finalSurfaceinputSurface=mediaSync.createInputSurface();//T

android - Eclipse ADT 17 在编辑布局 UI 时导致内存泄漏?

升级到最新的EclipseADT17后,每当我开始在“图形布局”模式下编辑布局时,似乎都会发生一些重大的内存泄漏。Eclipse统计数据表现异常,需要重新启动Eclipse。我在Windows7上运行eclipse版本:3.7.2。有没有其他人观察到类似的问题?您知道任何解决方法吗?谢谢,图萨尔 最佳答案 这是一个knownbug. 关于android-EclipseADT17在编辑布局UI时导致内存泄漏?,我们在StackOverflow上找到一个类似的问题:

java - 如何避免 BroadcastReceiver 泄漏

我正在构建一个库,它具有以下结构:MySDK{publicstaticvoidinit(Contextcontext){registerReceivers();//RegisterconnectivityBroadcastReceiverhere}publicstaticvoidperformAction(){};}预期用途是:我的库的用户在他们创建的第一个Activity中调用init()。问题是我没有取消注册BroadcastReceiver并且当应用程序关闭时它会泄漏。我可以创建一个名为deinit()的方法,并要求lib的用户在离开Activity时调用它,但是有没有更可靠的方

android - 在 onDestroy 中取消注册监听器 - 有什么危害/它们会泄漏吗?

我试图了解等到onDestroy取消注册监听器是否有任何潜在危害。我特别指的是取消订阅事件总线(otto),但相信答案适用于大多数listenerpattern实现(SharedPreferenceListener、LocationListener,static引用等)。我看过severalotheranswers对于这个引用短语“onDestroyisnotguaranteedtobecalled”的问题。完整的onDestroydocumentation文字实际上是这样的:Note:donotcountonthismethodbeingcalledasaplaceforsaving

java - 如何为 MortarActivityScope @Provide 一个 Activity,而不会在方向更改时泄漏 Activity?

我有一个Mortar应用程序,其中MortarActivityScope作为根范围下的第一个子级。MortarActivityScope有一个ActivityScope,它@Provides一个注入(inject)类的Activity:@Module(addsTo=ApplicationModule.class,injects={Foo.class,SomePresenter.class,AnotherPresenter.class})publicclassActivityModule{privatefinalActivityactivity;publicActivityModule(

android - 远程服务,旋转时泄漏 Activity

我在远程服务中遇到回调问题,在注册回调轮换后导致Activity泄漏。你能给我一些建议吗我做错了什么。IRemoteApi.aidlimportcom.example.remoteservice.IRemoteListener;interfaceIRemoteApi{voidaddListener(IRemoteListenerlistener);voidremoveListener(IRemoteListenerlistener);voidsendRequest(Stringmsg);}IRemoteListener.aidlinterfaceIRemoteListener{void

android - 如何避免 context.getSystemService(Context.CAMERA_SERVICE) 中的内存泄漏?

我在Android5.xCamera2API中发现了内存泄漏,我也是reported.问题是当您使用在LEGACY模式下实现Camera2API的AndroidLollipop设备时。在此类设备上,调用context.getSystemService(Context.CAMERA_SERVICE)会导致context被保留,这样它就不会被垃圾回收。如果此context是您多次启动的Activity,您最终可能会挂起对数十个从未被垃圾回收的Activity实例的引用。该问题似乎只发生在以LEGACY模式实现Camera2API的Lollipop设备上(例如HTCOneM8、Samsung

Android fragment 内存泄漏

我在业余时间制作一个小应用程序,我使用了很多fragment。我对fragment还很陌生,但是我已经使用了很多资源来适本地使用……或者我是这么认为的。当我从一个fragment切换到另一个fragment时,随着我的堆不断增长,我遇到了内存泄漏。我之前使用Activities实现了我的应用程序,并且显着减少了内存泄漏。然而,现在我加入了fragment世界,我觉得在内存方面我好像是从头开始。主Activity.javapublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);getW

java - 此处理程序类应该是静态的,否则可能会发生泄漏 : final Handler

在下面的代码中,Eclipse生成警告“ThisHandlerclassshouldbestaticorleaksmightoccur”。publicclassMyActivityextendsActivityimplementsRunnable{finalHandlerhandler=newHandler(){@OverridepublicvoidhandleMessage(Messagemessage){StringsResult=(String)message.obj;if((sResult!=null)&&(sResult!="")){MyNonStatic=(TableLay