Max
На iOS аналогичный код работает перфект
Max
Headers:
Max
{ 'api-key': 'SomeSecretAPIToken', 'Content-Type': 'multipart/form-data' }
Nikita
Всем привет, где можно почитать как в реаки нэтив с памятью работать и можно ли вообще это делать, а то в доке совсем чуть чуть про это написано.
Egor
asm вот это всё ?
Egor
=)))
Nikita
Не верно задал вопрос. Допустим мы работаем react native + redux, у нас большое приложение, стор соответственно большой и мы каждый раз новый создаём. Были ли у кого в связи с этим проблемы с памятью, если были то как решали.
Igor
ребят, подскажите пожалуйста, я хочу сделать приложение, в котором будет кнопка сделать фото, то есть при нажатии должно обращаться и выводить камеру и обратно возвращатсья в само приложение, есть ли кастомное решение какое-то? киньте мб линк, заранее спасибо
Aleksei
используй immutable и вот это все, там нет проблем с памятью, tries такая структура, не аллоцирует весь объект заново. а так по идее только нагрузка на gc возрастает, не должны лишние ссылки на стор висеть
Igor
я подгуглил, CameraRoll это оно?
Aleksei
asm вот это всё ?
ну в obj-c и swift работают же с памятью как никак)
Egor
а что же такое в сторе, что память может отжирать? графика? данные?
Egor
стоит их вынести в side effects какие-то и сделать к ним нормальный доступ чтобы держать в памяти только нужное в данный момент...
Nikita
Пока ничего, пришел проект и думаем на react native делать, точнее я предлагаю. Со стороны нативных разработчиков поступили вопросы, что будет с памятью если постоянно копировать стейт, я ничего годного найти не смог. Как оно внутри будет objective c + java после билда.
Egor
проще всего протестить на базовом конфиге, засрав стор чем-нибудь сгенерированным
Egor
я не интересовался пока этим, так как пока всё довольно тривиально, а данные частично в Realm лежат...
Nikita
Спасибо
Anonymous
+++)
Yuriy
Пока ничего, пришел проект и думаем на react native делать, точнее я предлагаю. Со стороны нативных разработчиков поступили вопросы, что будет с памятью если постоянно копировать стейт, я ничего годного найти не смог. Как оно внутри будет objective c + java после билда.
мы пишем под ios на RN, стейт приличный, я бы сказал большой, но ОЗУ в пределах 100-140 Мб колеблиться, по поводу копирования советую почитать про Garbage collection, если в краткко - проблем нет.
Сергій
На андроид до 5 версии с gc проблемы, две большие stop the world паузы
Сергій
На ART(андроид 5-7) стало лучше, одна маленькая. GC в ART'е на андроид 8 работает без пауз.
Stas
С Rx у всех те же вопросы: ууу объектов ненужных создаётся много, ууу. А в нативном мире сейчас почти стандарт для работы с ui
Сергій
Энивей, это не есть хорошо
Stas
Я думаю что все о нем знают и даже если не пишут, то хотят
Stas
Именно так
Stas
Гц прожевывает - пофигу, лупим дальше тонну объектов
Stas
Зачем ещё эти ядра и гигабайты кроме игр? Чтобы писать на эриксах и редуксах
Stas
И чувствовать себя норм
Сергій
Зачем ещё эти ядра и гигабайты кроме игр? Чтобы писать на эриксах и редуксах
пользователей таких устройств не так много и они работают не так как говорят маркетологи
Stas
Не сталкивался с проблемами gc при rx
Stas
Даже на mtk
Stas
Пишу максимум на них.
Сергій
Суть не в том что у вас на конкретном устройстве и при определенных условиях всё работало хорошо. Суть в том что на быстродействие приложения и потребления энергии влияет очень много факторов. Андроид сделан так чтобы в памяти работало параллельно 30-40 процессов, на которые распределяются ресурсы системы. Кроме вашего приложения у пользователя на устройстве работает ещё несколько десятков других процессов которым тоже нужны ресурсы, и эти процессы влияют на ваше приложение и на то какой экспириенс от этого получает пользователь. Казалось бы ну пусть создадутся ещё несколько сотен(или тысяч) объектов, ну подумаешь, GC их уберёт, ядер много, и всё будет хорошо. Если так будут делать все 30-40 процессов это будет капец в плане энергопотребления. Есть такое понятие как "фрагментация хипа", чем больше создаётся объектов тем меньше больших цельных участков памяти куда может быть аллоцирован новый объект, часть объектов на которых ссылок нету уберёт GC, но часть останется. Аллокатор не смотрит на общее свободное пространство в хипе, он ищет подходящего размера участок в который уместится новый объект и если аллокотор такого места не находит то он бросит ООМ будь хоть в хипе свободно 100мб при размере объекта 100кб. Чем больше хип, тем медленнее аллокации и длиннее уборка мусора. Чем больше приложение потребляет памяти тем выше его шанс быть убитым системой как только пользователь перейдет на рабочий стол или другое приложение. И будь хоть в системе 8 гиг RAM такого не избежать. Андроид устройств очень много, конфигурации железа очень разные. Peace ✌️
Aleksei
и вся эта теория 👆 от части бессмыслена без профилировки. один хер человек не лучше gc справляется, а если и справится то разработка будет дороже на порядок, такое нужно далеко не всем приложениям
Anonymous
Есть кто хорошо разбирается в анимации? Нужна помощь. Срочно. Все детали в личку. Естественно за оплату)
Igor
Как с новым подходом “create-react-native-app <app-name>” настраивать иконки, ios launch screen, цвет фона в android и тд?
Stas
Руками проще. Все через ресурсы настраивается
Дмитрий
Igor
Спасибо, пожалуй продолжу руками править нативные проекты
Сергій
и вся эта теория 👆 от части бессмыслена без профилировки. один хер человек не лучше gc справляется, а если и справится то разработка будет дороже на порядок, такое нужно далеко не всем приложениям
Вы так говорите будто бы я говорил про оптимизации на уровне c++ кода, асм вставки, постоянный профайлинг хипа и тд. Ничего такого. Просто надо понимать как система работает изнутри и не делать плохих вещей для системы. И никаких удорожания разработки или затягивания сроков нет. Это чистая практика. Ладно тему можно закрывать.
Aleksei
Вы так говорите будто бы я говорил про оптимизации на уровне c++ кода, асм вставки, постоянный профайлинг хипа и тд. Ничего такого. Просто надо понимать как система работает изнутри и не делать плохих вещей для системы. И никаких удорожания разработки или затягивания сроков нет. Это чистая практика. Ладно тему можно закрывать.
полностью согласен что понимать как работает система эта хорошо. просто я так же из практики говорю, что неоднократно видел когда люди начинают преждевременные оптимизации, не опраданные ничем и конечно же это срывает сроки
Сергій
Кнут прав
shashkov0
Подскажите плиз что сделать если fetch не работает. Network request failed
Albert
Подскажите плиз что сделать если fetch не работает. Network request failed
У меня такая ошибка была когда я пытался отправить запрос на несуществующий домен
Дмитрий
Если с помощью expo собираешь, то путь к лого должен быть в app.json, если по старинке, то в папке android/app/src/main/res/ ic_launcher'ы
Anonymous
здрасти
Дмитрий
В манифесте атрибут android:icon может как-то неверно задан?
Sergey
/
Джон
https://telegram.me/joinchat/Be4rsT3Uyr1TjmSlrRc77g
Джон
там более охотно отвечают на такие вопросы, а здесь все таки более профильный чятик )
Albert
Может так console.log(this.state.albums.movies[0].title)
Uncle Bob’s Nephew
как реализовать вывод логов на реальных девайсах
Anonymous
console.warn
Anonymous
()
Alex
как реализовать вывод логов на реальных девайсах
Был где-то компонент для этого) видел его в awesome react native списке
Albert
Привет. Подскажите пожалуйста как сделать редирект на другой экран до рендера компонента? использую react-native-router-flux
Alex
Самый простой способ - loading роут
Albert
а можно немного поподробней?
Alex
Ну обычно такое хочется, чтобы не показывать какой-нибудь экран авторизации до загрузки инфы из стореджа / сервера, тогда проще всего сделать начальным роутом loading экран с прелоадером и с него уже редиректить куда надо
Albert
Ну у меня почти такая задача, есть некий walkthrough экран, который пользователь должен видеть 1 раз, только при первом запуске, при последующих он должен сразу видеть экран авторизации
Albert
Как я делаю сейчас: componentWillMount() { if (this.props.skipWalkthrough) { Actions.auth(); } }Это работает, но при редиректе есть некий side effect, который сильно заметен Ну и в данном случае рендер все равно вызывается
Anonymous
Вопрос всем! какой лучше всего реадактор выбрать на expo или deco ide? где есть какие плюсы и минусы? кто может подсказать?! Спасибо!!
Egor
Я на webstorm и на atom иногда
Albert
использую atom
Andrew Efimenko
у нас все сидят на vscode :) И дико довольны
0xVoushi
Вопрос всем! какой лучше всего реадактор выбрать на expo или deco ide? где есть какие плюсы и минусы? кто может подсказать?! Спасибо!!
Сидел год на IDEA, сейчас перекатываюсь на VSCode У первой проблемы со скоростью, разворачивание проекта довольно долгое, если очень быстро печатаешь, то фризы, свайп в горизонтальные/вертикальные области файлов – фризы У второй все круто, кроме того, что могут накосячить в обновлениях, но это вроде быстро фиксится, ну и плагины могут лагать/не работать, но это редко очень
0xVoushi
Atom – лагает IDEA и все остальные продукты не могут в современный фронт-стек
KlonD90
vim zhe
Uncle Bob’s Nephew
Хелоу помогите настроить atom nuclide, хочу дебажить react native приложения
Egor
дебажить только в хроме =)
Egor
http://localhost:8081/debugger-ui
shashkov0
у нас все сидят на vscode :) И дико довольны
vscode крутой конечно, но там нет автодополнения для стайлд компонентс
0xVoushi
Да
бле ну завезут же рано или поздно