在完成之前,android sdk能够释放你的内存吗?
我的应用程序正在获取有关Google Play的崩溃报告。 我被告知andorid可以释放你的记忆,这是真的吗。
我在下面一行中收到一个空指针异常错误
if(butSettings.Intersect(x,y))我假设butSettings为null。 我很困惑,因为在创建时设置了butsettings。 它的成员函数然后在onUpdate上调用,每调用一秒就会调用一次。
行if(butSettings.Intersect(x,y))在我的ontouch事件中。 所以我假设butSettings成员函数会在onDraw中调用。 那么,为什么这是一个无效的? Android可以解放它吗?
从谷歌堆栈跟踪
显示java.lang.NullPointerException在com.fairhvaenapps.toddpuzzlefree.cMainView.onTouchEvent(cMainView.java:267)在android.view.View.dispatchTouchEvent(View.java:5588)在android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1684)上的android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)上的android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1684)。 view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)在android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1684)在com.android.internal.policy.impl.PhoneWindow $ DecorView.superDispatchTouchEvent(PhoneWindow.java:2060)在com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1398)at android.app.Activity.dispatchTouchEvent(Activity.java:2364)at com.android.internal.policy.impl.PhoneWindow $ DecorView .dispatchTouchEvent(PhoneWindow.java:2008)at android.view.View.dispatchPointerEvent( View.java:5768)在android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2911)在android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2485)在android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:852 )在android.os.Handler.dispatchMessage(Handler.java:99)android.os.Looper.loop(Looper.java:137)在android.app上的android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2494) .ActivityThread.main(ActivityThread.java:4514)at java.lang.reflect.Method.invokeNative(Native Method)at java.lang.reflect.Method.invoke(Method.java:511)at com.android.internal.os .ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:790)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)at dalvik.system.NativeStart.main(Native Method)
Android可以随时销毁您的活动,这就是为什么您必须在onCreate
正确执行初始化并在onDestroy
正确处理事情的原因。 但是,你永远不会因为这个而导致NullPointerException
; 因此,Android不会仅仅删除对象的引用。 你看到的例外是因为你的代码存在一些错误。 它与记忆无关。
上一篇: Can android sdk free your memory before you are done with it?