اذهب إلى المحتوى

السؤال

نشر

تحيه طيبه للجميع

ارغب بتسريع التطبيق قليلا وقد جاتني فكره لتحميل البيانات مسبقا للمستخدم من وقت دخوله ليكون تحميل البيانات اسرع / بمعنى لو لدي تطبيق مكون من 3 صفحات

Login

splash

Main home

ارغب بتحميل بيانات صفحة Main home قبل وصول المستخدم لها على سبيل المثال في وقت دخوله لصفحة splash سيتم تحميل بيانات صفحة Main home وفي وقت دخول المستخدم ستكون البيانات تم تحميلها وكانها ملحقات في التطبيق

 

طبعا البيانات تاتي من قاعدة MySQL من خلال اتصال ملفات PHP ويتم عرضها في Listview.builder 

نوع البيانات نصوص + صور

 

ما هيا افضل طريقة لفعل ذلك؟ حقيقه لم اجد فكره مناسبه ام ان ذلك غير ممكن تطبيقه؟ 

 

Recommended Posts

  • 1
نشر

نعم يمكن ذلك، في بداية استعراض splash screen يمكنك عمل HTTP Get request من API لديك، وتخزن البيانات في متغيرات، ثم تعيد تمريرها من خلال باني الصفحة الرئيسية، الموضوع مرتبط بتطبيقك.

Listview.builder لاتقوم بإنشاء عناصر القائمة إلا عند ظهورهم لواجهة التطبيق (مجال مرئي للمستخدم) وبذلك يكون التحميل بطيء.

تأكد أن حجم الصور صغير و ليس كبير جداً، لأنه يؤثر في سرعة الانترنت + سرعة معالجة الهاتف

  • 0
نشر
بتاريخ 10 دقائق مضت قال Wael Aljamal:

نعم يمكن ذلك، في بداية استعراض splash screen يمكنك عمل HTTP Get request من API لديك، وتخزن البيانات في متغيرات، ثم تعيد تمريرها من خلال باني الصفحة الرئيسية، الموضوع مرتبط بتطبيقك.

Listview.builder لاتقوم بإنشاء عناصر القائمة إلا عند ظهورهم لواجهة التطبيق (مجال مرئي للمستخدم) وبذلك يكون التحميل بطيء.

تأكد أن حجم الصور صغير و ليس كبير جداً، لأنه يؤثر في سرعة الانترنت + سرعة معالجة الهاتف

مرحبا اخي

بالنسبه الى اول نقطه اخي هل يوجد شرح عليها؟ حتى افهم الفكره

 

 

اما بالنسبه الى موضوع listview.builder هل يمكن استبدلها بادوات مختلفه لحل المشكله؟

  • 1
نشر
بتاريخ 6 دقائق مضت قال مروان مروان3:

بالنسبه الى اول نقطه اخي هل يوجد شرح عليها؟ حتى افهم الفكره

تمام، في صفحة splash screen تقوم بجلب البيانات بشكل عادي، ثم بعد انتهاء الطلب، في نهاية التابع الذي يجلب البيانات، اعمل تحويل لصفحة Home بطلب الصفحة يدوياً

class HomeScreen extends StatefulWidget {
  final dynamic Data;
  Tabbar(this.Data);

  @override
  State<Tabbar> createState() => _HomeScreenState();
}

وإن الانتقال لصفحة ال Home يتم تمرير بيانات api

get data async {

	fetch ..


	HomeScreen(result) // قائمة result

}

 

ثم نتابع تمرير البيانات للقائمة 

بتاريخ 34 دقائق مضت قال مروان مروان3:

اما بالنسبه الى موضوع listview.builder هل يمكن استبدلها بادوات مختلفه لحل المشكله؟

كلا هي الأفضل. لكن يمكن استخدام list عادية سوف تحمل الجميع عند إنشائها

وحاول التأكد أن طريقتك في جلب الصور تستخدم الذاكرة المؤقتة cache لتخزين الصور المكررة في التطبيق و عند طلب نفس الرابط لا تحمل الصورة من الانترنت مثل cached_network_image

,الأفضل تطبيق Pagination أي التقسيم لصفحات، لكن فيها عمل أكثر إن لم يكن أداء التطبيق مقبول يمكن الانتقال لها

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...