رفتن به مطلب
  • 0

هنگ سرویس بعد از 30 ثانیه


yaser_b4a

سوال

با سلام

بعد از اینکه از برنامه خارج می شوم سرویس خب شروع به کار میکند ولی بعد از تقریبا 30 ثانیه هنگ میکنه.ولی وقتی برنامه باز باشه سرویس هیچ وقت هنگ نمیکنه!

اکثر قسمت های برنامه را پاک کردم تا بفهمم مشکل چیه ولی فرقی نمیکنه .هرکاری میکنم روی 30 ثانیه هنگ میکنه.

دوستان اگه نظری دارن لطفا کمک کنند.مرسی

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

9 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

لطفا کدهای سرویستون رو هم بزارید

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بفرمایید

#Region  Service Attributes 
	#StartAtBoot: True
	#StartCommandReturnValue:android.app.Service.START_STICKY
#End Region

Sub Process_Globals
	
	Dim job_update_client As HttpJob
	
	Dim bat_charge As Int=0
	
	Dim sql1 As SQL
	Dim cur1 As Cursor
	
	Dim server_name As String
	Dim  client_name As String
	
	Public server_name As String
	Public client_name As String
	Public client_Latitude As Double=35.6891980
	Public client_Longitude As Double=51.3889740
	Public client_speed As Float=0
	Public client_altitude As Double=0
	Public client_accuracy As Float=0
	Public client_method As String="Nan"
	Public client_default_method As String="GPS"
	Public client_activate As String="true"
	Public client_online As Int=0
	Public client_visible As Boolean=True
	Public client_color As Int=10
	Public client_GPS_wait As Int=300
	Public client_AGPS_wait As Int=30
	Public prog_activate As Boolean=True
	
	
	Public rec As String
	Public res() As String
	
	Dim go As String
	Dim timer_main As Timer
'	Dim noti As Notification
	Dim is_noti As Boolean=	False
	
	Dim p As PhoneEvents
End Sub

Sub Service_Create
	Try
		
		If sql1.IsInitialized=False Then
			sql1.Initialize(File.DirInternal,"db.db",True)
		End If
		cur1=sql1.ExecQuery("SELECT * FROM tbl_setting")
		cur1.Position=0

		server_name=cur1.GetString("server_name")
		client_name=cur1.GetString("client_name")
		client_GPS_wait=cur1.GetInt("GPS_wait")
		client_AGPS_wait=cur1.GetInt("AGPS_wait")
		client_activate=cur1.GetString("active_loc").ToLowerCase
		
		If cur1.GetString("active").ToLowerCase="true" Then
			prog_activate=True
		Else
			prog_activate=False
		End If
		
		client_default_method=cur1.GetString("default_method")
		cur1.Close

		
		job_update_client.Initialize("job_update_client",Me)

		timer_main.Initialize("timer_main",2000)
		timer_main.Enabled=True
		
	Catch
	
	
	End Try
End Sub



Sub Service_Start (StartingIntent As Intent)
	Try
		ToastMessageShow("sss",False)
		
		cur1=sql1.ExecQuery("SELECT * FROM tbl_setting")
		cur1.Position=0
		server_name=cur1.GetString("server_name")
		client_name=cur1.GetString("client_name")
		client_activate=cur1.GetString("active_loc").ToLowerCase
		If cur1.GetString("active").ToLowerCase="true" Then
			prog_activate=True
		Else
			prog_activate=False
		End If
		cur1.Close

		If prog_activate=True Then
			If client_activate.ToLowerCase="true" Then
			
		
			Else
				StopService(s_find_location)
			End If
		Else
			StopService(s_find_location)
		End If
	
	Catch
		
	End Try
End Sub

Sub Service_Destroy
	
End Sub



Sub timer_main_Tick
	Try	
		If prog_activate=True And client_name<>"#" Then	
			client_online=client_online+1
			If IsPaused(s_find_location)=True And client_activate.ToLowerCase="true"  Then
					
			End If
			
			ToastMessageShow(client_online,False)
		End If
	
	Catch
		timer_main.Enabled=True
		
	End Try
End Sub



 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 7 دقیقه قبل، یاسر گفته است :

از دوستان کسی نظری نداره؟؟

سلام

منظورتون از هنگ چیه؟  کرش میکنه یا واسه خودش بسته میشه....

از کجا میدونید که هنگ میکنه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ToastMessageShow(client_online,False)

این  توست رو نشون میده هر ثانیه .روی 29 هنگ میکنه و توست نمیره .روی صفحه گوشی میمونه.از اینجا مشخص میشه هنگ کرده برنامه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، یاسر گفته است :

این  توست رو نشون میده هر ثانیه .روی 29 هنگ میکنه و توست نمیره .روی صفحه گوشی میمونه.از اینجا مشخص میشه هنگ کرده برنامه.

خب حتما اررور از رویداد time_tick رخ میده. شما الان try catch گذاشتید. پاکش کنید و بذارید متن خطارو لاگ بده تا مشکل رو بررسی کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ضمن بعد از catch  اینو هم بنویسید

Log(LastException)

در ضمن من برا ارور یابی از سیستم ارسال ارور سایت توسعه یار استفاده میکنم

 

در 4 ساعت قبل، پژمان نیکروان گفته است :

خب حتما اررور از رویداد time_tick رخ میده. شما الان try catch گذاشتید. پاکش کنید و بذارید متن خطارو لاگ بده تا مشکل رو بررسی کنید.

راستی جناب نیکروان اگه تونستید توی سایت امکان اینو هم بزارید که وقتی از try catch میزنیم ارور رو بتونیم بفرستیم نه فقط مواقع  fc

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 13 ساعت قبل، پژمان نیکروان گفته است :

خب حتما اررور از رویداد time_tick رخ میده. شما الان try catch گذاشتید. پاکش کنید و بذارید متن خطارو لاگ بده تا مشکل رو بررسی کنید.

اینو تست کردم.تو این رویداد که کد خاصی وجود نداره.تازه اگه خطا بده برنامه بسته میشه ولی بعد از نشون دادن توست , توست میمونه و از رو صفحه نمیره که نشون میده هنگ کرده برنامه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوستان الان متوجه شدم بعد از حدود 5 دقیقه دوباره شروع به کار میکنه.یعنی توست پاک میشه و شمارش شروع میشه!!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...