android sdk能在你完成之前释放你的内存吗?
我的应用程序在google play上收到崩溃报告。我听说android可以释放你的内存,这是真的吗 我在下一行得到一个android sdk能在你完成之前释放你的内存吗?,android,Android,我的应用程序在google play上收到崩溃报告。我听说android可以释放你的内存,这是真的吗 我在下一行得到一个NullPointerException错误 if (butSettings.Intersect(x, y)) 我假设butSettings为null 我很困惑,因为butsettings是在onCreate上设置的。然后在onUpdate上调用它的成员函数,每隔.1秒调用一次 线 在myonTouch事件中。所以我假设butSettings成员函数会在onDraw中被调用。
NullPointerException
错误
if (butSettings.Intersect(x, y))
我假设butSettings
为null
我很困惑,因为
butsettings
是在onCreate
上设置的。然后在onUpdate
上调用它的成员函数,每隔.1秒调用一次
线
在myonTouch
事件中。所以我假设butSettings
成员函数会在onDraw
中被调用。那么,为什么这会变成一个null
??安卓能释放它吗
来自google的堆栈跟踪
java.lang.NullPointerException
at com.fairhvaenapps.toddpuzzlefree.cMainView.onTouchEvent(cMainView.java:267)
at android.view.View.dispatchTouchEvent(View.java:5588)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1684)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1684)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1684)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2060)
at 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)
at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2911)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2485)
at android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:852)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2494)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.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不会因此而简单地删除对对象的引用。您看到的异常是由于代码中的某些错误。这与记忆无关
java.lang.NullPointerException
at com.fairhvaenapps.toddpuzzlefree.cMainView.onTouchEvent(cMainView.java:267)
at android.view.View.dispatchTouchEvent(View.java:5588)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1684)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1684)
at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:1957)
at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1684)
at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2060)
at 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)
at android.view.ViewRootImpl.deliverPointerEvent(ViewRootImpl.java:2911)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2485)
at android.view.ViewRootImpl.processInputEvents(ViewRootImpl.java:852)
at android.view.ViewRootImpl.handleMessage(ViewRootImpl.java:2494)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.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)