react / react/react-native

Image defaultSource on Android Builds behaves differently than iOS

Đang mở
#41,124 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Component: Image Issue: Author Provided Repro Needs: Triage :mag: Platform: Android Platform: iOS
Ngôn ngữ chính
C++
Star
127k
Fork
25.3k
Merge trung bình
1 ngày 23 giờ
Pull request đã merge (30 ngày)
4

Mô tả

Description

Similar to closed issues that were missing repro links -

https://github.com/facebook/react-native/issues/31287
https://github.com/facebook/react-native/issues/38875

Based on the documentation https://reactnative.dev/docs/image#defaultsource Image defaultSource on Android gets ignored on debug but should work on release mode.

No issues on iOS new and old architecture
Android not working as expected new and old architecture

React Native Version

0.72.6

Output of npx react-native info

System:
OS: macOS 13.3.1
CPU: (10) arm64 Apple M1 Pro
Memory: 165.50 MB / 16.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 16.14.2
path: ~/.nvm/versions/node/v16.14.2/bin/node
Yarn:
version: 1.22.19
path: ~/.nvm/versions/node/v16.14.2/bin/yarn
npm:
version: 8.5.0
path: ~/.nvm/versions/node/v16.14.2/bin/npm
Watchman:
version: 2023.02.06.00
path: /opt/homebrew/bin/watchman
Managers:
CocoaPods:
version: 1.12.1
path: /Users/gurung/.asdf/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 22.4
- iOS 16.4
- macOS 13.3
- tvOS 16.4
- watchOS 9.4
Android SDK:
API Levels:
- "30"
- "31"
- "32"
- "33"
Build Tools:
- 30.0.3
- 31.0.0
- 32.0.0
- 33.0.0
System Images:
- android-30 | Google APIs ARM 64 v8a
- android-31 | Google APIs ARM 64 v8a
- android-31 | Google Play ARM 64 v8a
- android-32 | Google APIs ARM 64 v8a
- android-33 | Google APIs ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2021.1 AI-211.7628.21.2111.8309675
Xcode:
version: 14.3/14E222b
path: /usr/bin/xcodebuild
Languages:
Java:
version: 11.0.17
path: /usr/bin/javac
Ruby:
version: 3.0.3
path: /Users/gurung/.asdf/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 18.2.0
wanted: 18.2.0
react-native:
installed: 0.72.6
wanted: 0.72.6
react-native-macos: Not Found
npmGlobalPackages:
"react-native": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: true
newArchEnabled: false

Steps to reproduce

Add Image with defaultSource that points to local image path and source with remote image.

run yarn android --mode release

Expected

https://github.com/facebook/react-native/assets/6507800/333a02b4-2e46-4876-ba7d-6dfad820658e

Actual

It seems to render defaultSource briefly and when it's actually trying to load the remote image it disappears, but reappears briefly before rendering the remote image.

https://github.com/facebook/react-native/assets/6507800/5e90be48-0a1d-4b5b-abc2-87866812fa81

Snack, screenshot, or link to a repository

https://github.com/grgmo/react-native-android-image-defaultSource-repro

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Hướng nghiên cứu

Chạy react-native-android-image-defaultSource-repro được liên kết với React Native 0.72.6 và so sánh đầu ra release của Android với tài liệu defaultSource cùng các issue được tham chiếu #31287 và #38875. Theo dõi quá trình xử lý Android Image liên quan trong chuỗi tải ở chế độ release. Hoàn tất khi defaultSource cục bộ vẫn được hiển thị chính xác trong khi ảnh từ xa đang tải, phù hợp với hành vi mong đợi và không xảy ra hiện tượng biến mất đã được báo cáo.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
react-native
Lĩnh vực
mobile-dev
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.