d2jsp
Log InRegister
d2jsp Forums > Off-Topic > International > Polska > Apple > Temat Oficjalny
Prev1217218219220221339Next
Add Reply New Topic New Poll
Member
Posts: 16,718
Joined: Nov 19 2015
Gold: 306.44
Mar 22 2016 04:43am
Quote (serek10 @ 22 Mar 2016 11:40)
88 stron bulu dupy, ze niektorzy wola zaplacic wiecej za telefon, ktory w mniemaniu androidowcow oferuje mniej niz telefon z androidem


cu-do-wnie


Chcialem zauwazyc, ze nowe samsungi sa drozsze od ibonow.
e/ najwyrazniej w niektorych srodowiskach taki fakt to KOMPLEMENT :o

This post was edited by Majonez on Mar 22 2016 04:43am
Member
Posts: 14,119
Joined: Jul 4 2006
Gold: 4.00
Mar 22 2016 06:10am
Quote (Majonez @ 22 Mar 2016 12:32)
Gc?
e/ moja historia napraw sprzetow od apple dosyc mocno zaprzecza tej "bezawaryjnosci".

GC = Garbace Collection

Tutaj w miare krótki i przystępny opis: https://www.quora.com/Whats-the-difference-between-Java-garbage-collection-and-Objective-C-ARC

Generalnie jak programujesz, a potem uruchamiasz ten program na jakiejś platformie to w trakcie pracy on zajmuje, modyfikuje i zwalnia jakieś fragmenty pamięci operacyjnej.
No i teraz sposób zarządzania tymi procesami jest różny, problemem jest tak naprawde ich zwalnianie.

iOS:
W Objective-C programista musiał to zwolnić ręcznie jak tylko przestawała być potrzebna, jeśli zapomniał (a o to łatwo) to pojawiały się różne błędy typu wycieki pamięci. Powiedzmy, że masz prosty program, który pobiera obrazki z imgura i wyświetla je na ekranie, po jego wyświetleniu powinieneś usunąć go z pamięci, jeśli zapomnisz to zrobić to on mimo tego, że jest już do niczego nie potrzebny zostaje w RAMie i zajmuje pamięć. Tak powstają wycieki pamięci i czasami prosty program potrafi wpierdolić cały RAM. Za to jest szybszy i jeśli działa dobrze to zajmuje tylko tyle, ile potrzebuje bo wszystko co zbędne zwalniane jest natychmiast.
W Swift (język, który zastąpił ObjC) nad wykonywanym programem siedzi mechanizm nazywany ARC (automatic reference counting), który pilnuje, żeby każdy blok pamięci został jak najszybciej zwolniony, nie robisz tego ręcznie, ale jest jakiś dodatkowy narzut performance'u przez tę warstwę, która pilnuje pamięci.
W każdym razie szybkość działania programu jest raczej stała, tzn. to wszystko dzieje się real-time.

Android:
Za to Java i jej wirtualne maszyny mają zupełnie inne podejście do tego, one nie sprawdzają tych rzeczy natychmiast tylko co jakiś czas (przyjmijmy, że co kilka sekund) cały program się zatrzymuje, pamięć jest skanowana, zaznaczane są fragmenty pamięci, które są już niepotrzebne i zwalniane. To się dzieje w cyklach i one mogą być widoczne właśnie jako ścięcia systemu.

To działa po prostu na innej zasadzie, bo przez chwile program po prostu robi co chce i szybko, a spowolnienie pojawia się rzadziej i często masz kompletne tzw. stop-the-world.
Problem jest też taki, że to wszystko potrzebuje więcej RAMu do dyspozycji, bo program działa, zajmuje coraz więcej i więcej pamięci, potem włącza się GC i część czyści i tak w kółko.
Jak narysujesz wykres zużycia pamięci podobnego programu na obu platformach to w iPhone to może być stabilna pozioma linia, a w Androidzie zygzak latający z góry na dół.
U Apple zużycie pamięci jest po prostu stabilniejsze i bardziej przewidywalne stąd szybkim iPhone'om wystarcza po 1GB pamięci, a Androidy mają zwykle po dwa razy więcej.
Dlatego porównywanie takich specyfikacji między platformami jest często bez sensu bo filozofia ich działania i radzenia sobie z pamięcią jest skrajnie inna i tyle.

(Nie wiem co prawda czy to zupełne zatrzymanie systemu w Androidzie 6.0 nadal jest prawdą, bo są na pewno jakieś minor-gc-scan, major-gc-scan, full-gc-scan, nie chce mi się teraz doczytywać, nie śledzę tego na bieżąco bo nie potrzebuje.)

Do tego z tego co pamiętam w iOS wątek odpowiadający za user interface ma zawsze najwyższy priorytet, więc interfejs zawsze jest płynny i nie ma takich przycięć. Android zachowuje się inaczej.

To wszystko oczywiście jest wkurwilion razy bardziej skomplikowane i działa nie do końca tak jak ja napisałem, ale nie ma to tutaj wielkiego znaczenia.

https://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29 - wiki nawet sensownie tłumaczy GC.

Jako, że na codzień zajmuje się raczej innego rodzaju developerką to bardzo proszę wypomnieć błędy w moim poście wyżej, jeśli ktoś coś znajdzie.
Kiedyś kodowałem iPhone w ObjC, miałem bardzo krótkie spotkanie ze Swiftem, w tej chwili znowu trafił mi się Android.


pozdrawiam, tępy użytkownik ajfona
Member
Posts: 16,718
Joined: Nov 19 2015
Gold: 306.44
Mar 22 2016 06:17am
Quote (toyo @ 22 Mar 2016 13:10)
GC = Garbace Collection

Tutaj w miare krótki i przystępny opis: https://www.quora.com/Whats-the-difference-between-Java-garbage-collection-and-Objective-C-ARC

Generalnie jak programujesz, a potem uruchamiasz ten program na jakiejś platformie to w trakcie pracy on zajmuje, modyfikuje i zwalnia jakieś fragmenty pamięci operacyjnej.
No i teraz sposób zarządzania tymi procesami jest różny, problemem jest tak naprawde ich zwalnianie.

iOS:
W Objective-C programista musiał to zwolnić ręcznie jak tylko przestawała być potrzebna, jeśli zapomniał (a o to łatwo) to pojawiały się różne błędy typu wycieki pamięci. Powiedzmy, że masz prosty program, który pobiera obrazki z imgura i wyświetla je na ekranie, po jego wyświetleniu powinieneś usunąć go z pamięci, jeśli zapomnisz to zrobić to on mimo tego, że jest już do niczego nie potrzebny zostaje w RAMie i zajmuje pamięć. Tak powstają wycieki pamięci i czasami prosty program potrafi wpierdolić cały RAM. Za to jest szybszy i jeśli działa dobrze to zajmuje tylko tyle, ile potrzebuje bo wszystko co zbędne zwalniane jest natychmiast.
W Swift (język, który zastąpił ObjC) nad wykonywanym programem siedzi mechanizm nazywany ARC (automatic reference counting), który pilnuje, żeby każdy blok pamięci został jak najszybciej zwolniony, nie robisz tego ręcznie, ale jest jakiś dodatkowy narzut performance'u przez tę warstwę, która pilnuje pamięci.
W każdym razie szybkość działania programu jest raczej stała, tzn. to wszystko dzieje się real-time.

Android:
Za to Java i jej wirtualne maszyny mają zupełnie inne podejście do tego, one nie sprawdzają tych rzeczy natychmiast tylko co jakiś czas (przyjmijmy, że co kilka sekund) cały program się zatrzymuje, pamięć jest skanowana, zaznaczane są fragmenty pamięci, które są już niepotrzebne i zwalniane. To się dzieje w cyklach i one mogą być widoczne właśnie jako ścięcia systemu.

To działa po prostu na innej zasadzie, bo przez chwile program po prostu robi co chce i szybko, a spowolnienie pojawia się rzadziej i często masz kompletne tzw. stop-the-world.
Problem jest też taki, że to wszystko potrzebuje więcej RAMu do dyspozycji, bo program działa, zajmuje coraz więcej i więcej pamięci, potem włącza się GC i część czyści i tak w kółko.
Jak narysujesz wykres zużycia pamięci podobnego programu na obu platformach to w iPhone to może być stabilna pozioma linia, a w Androidzie zygzak latający z góry na dół.
U Apple zużycie pamięci jest po prostu stabilniejsze i bardziej przewidywalne stąd szybkim iPhone'om wystarcza po 1GB pamięci, a Androidy mają zwykle po dwa razy więcej.
Dlatego porównywanie takich specyfikacji między platformami jest często bez sensu bo filozofia ich działania i radzenia sobie z pamięcią jest skrajnie inna i tyle.

(Nie wiem co prawda czy to zupełne zatrzymanie systemu w Androidzie 6.0 nadal jest prawdą, bo są na pewno jakieś minor-gc-scan, major-gc-scan, full-gc-scan, nie chce mi się teraz doczytywać, nie śledzę tego na bieżąco bo nie potrzebuje.)

Do tego z tego co pamiętam w iOS wątek odpowiadający za user interface ma zawsze najwyższy priorytet, więc interfejs zawsze jest płynny i nie ma takich przycięć. Android zachowuje się inaczej.

To wszystko oczywiście jest wkurwilion razy bardziej skomplikowane i działa nie do końca tak jak ja napisałem, ale nie ma to tutaj wielkiego znaczenia.

https://en.wikipedia.org/wiki/Garbage_collection_(computer_science) - wiki nawet sensownie tłumaczy GC.

Jako, że na codzień zajmuje się raczej innego rodzaju developerką to bardzo proszę wypomnieć błędy w moim poście wyżej, jeśli ktoś coś znajdzie.
Kiedyś kodowałem iPhone w ObjC, miałem bardzo krótkie spotkanie ze Swiftem, w tej chwili znowu trafił mi się Android.


pozdrawiam, tępy użytkownik ajfona


Zajebiste, masz wiecej takich technicznych informacji? Najlepiej bym poczytal o takich rzeczach w odniesieniu do komputerow, bo moja wiedza o architekturze sprzetu zatrzymala sie na ksiazce z okolic 2005 roku.
Member
Posts: 8,238
Joined: Mar 19 2016
Gold: 0.00
Mar 22 2016 07:26am
Siema,
Nareszcie jakis temat w sekcji w ktorym moge sie wyrazic :).
Apple robi zajebisty sprzet, ale wiekszosc ich klientow to debile - patrzac na zachwyt ip se.
Ja osobiscie korzystam z 2 telefonow - prywatnie mam 6s po przesiadce z 4s, sluzbowo Note 3.
Imo system apple jest przyjemniejszy dla oka, jesli chodzi o design, plynnosc i przjescia, plus super plynny touch id (milem galaxy s5 i tam czytnik to byla porazka). Malo ktory uzytkownik potrzebuje ingerencji w os, bo wiekszosc to tylko spieprzy sobie telefon, dla wiekszosci uzytkownikow ios jest genialny. Android na Note 3 mnie moze nie meczy, ale nie jest tak przyjemny w uzytkowaniu, chociaz zadko mi sie zdarza zeby cos sie zwiesilo. W domu, moja 2ga polowka ma xperie z3 - nie zadne mini czy inne gowno, tylko ten flagowiec z przed 2 lat - ladny telefon, ale obsluga go tez nie jest tak przyjemna jak ios.
Ip se - telefon ladny, ale mogli imo tez zrobic nowszy design a nie zostawic obudowe od 5s.
Na pewno duzy plus dla biedakow, ktorym bylo zal 4k brutto na pozadny telefon, beda mogli sie lansowac ze maja nowego iphone'a. Ja doceniam 6s, nie wymienilbym go na androida i dodatkowo daje mi duzy plus w statusie spolecznych biedakow, bo wzialem sobie na raty fajny kawalek bizuterii na ktory logicznie myslac mnie nie stac.
Przynajmniej moge sie polansowac czyms ladnym, z czego funkcjonalnosci też mogę skorzystac.
Member
Posts: 45,850
Joined: Aug 19 2011
Gold: 2,380.15
Mar 22 2016 08:20am
Quote (wbw1 @ Mar 22 2016 02:26pm)
Siema,
Nareszcie jakis temat w sekcji w ktorym moge sie wyrazic :).
Apple robi zajebisty sprzet, ale wiekszosc ich klientow to debile - patrzac na zachwyt ip se.
Ja osobiscie korzystam z 2 telefonow - prywatnie mam 6s po przesiadce z 4s, sluzbowo Note 3.
Imo system apple jest przyjemniejszy dla oka, jesli chodzi o design, plynnosc i przjescia, plus super plynny touch id (milem galaxy s5 i tam czytnik to byla porazka). Malo ktory uzytkownik potrzebuje ingerencji w os, bo wiekszosc to tylko spieprzy sobie telefon, dla wiekszosci uzytkownikow ios jest genialny. Android na Note 3 mnie moze nie meczy, ale nie jest tak przyjemny w uzytkowaniu, chociaz zadko mi sie zdarza zeby cos sie zwiesilo. W domu, moja 2ga polowka ma xperie z3 - nie zadne mini czy inne gowno, tylko ten flagowiec z przed 2 lat - ladny telefon, ale obsluga go tez nie jest tak przyjemna jak ios.
Ip se - telefon ladny, ale mogli imo tez zrobic nowszy design a nie zostawic obudowe od 5s.
Na pewno duzy plus dla biedakow, ktorym bylo zal 4k brutto na pozadny telefon, beda mogli sie lansowac ze maja nowego iphone'a. Ja doceniam 6s, nie wymienilbym go na androida i dodatkowo daje mi duzy plus w statusie spolecznych biedakow, bo wzialem sobie na raty fajny kawalek bizuterii na ktory logicznie myslac mnie nie stac.
Przynajmniej moge sie polansowac czyms ladnym, z czego funkcjonalnosci też mogę skorzystac.


Źle trafiłeś :D
Member
Posts: 14,119
Joined: Jul 4 2006
Gold: 4.00
Mar 22 2016 08:27am
Majonez: mam dużo rzeczy w głowie, bo z tego żyje ;) Nie wiem dokładnie co polecić, bo nie wiem co ogarniasz, a co nie.
Ciężko mi też podpowiedzieć co od czego zacząć, w komputerach chyba nic specjalnie się od dawna nie zmienia, zasada działania raczej zostaje zawsze ta sama. Więcej tranzystorów, rdzeni i megahertzów i tak dalej.

To co mogę polecić to na pewno ten artykuł: http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
Głównie o telefonach, ale jest długi i genialny, przechodzi przez cały stack od sprzętu i tego czemu nie wpierdolić do telefonu po prostu 8GB ramu przez to jak działają różne platformy aż po przeglądarki internetowe i silniki JavaScriptu.
Member
Posts: 16,718
Joined: Nov 19 2015
Gold: 306.44
Mar 22 2016 08:28am
Quote (toyo @ 22 Mar 2016 15:27)
Majonez: mam dużo rzeczy w głowie, bo z tego żyje ;) Nie wiem dokładnie co polecić, bo nie wiem co ogarniasz, a co nie.
Ciężko mi też podpowiedzieć co od czego zacząć, w komputerach chyba nic specjalnie się od dawna nie zmienia, zasada działania raczej zostaje zawsze ta sama. Więcej tranzystorów, rdzeni i megahertzów i tak dalej.

To co mogę polecić to na pewno ten artykuł: http://sealedabstract.com/rants/why-mobile-web-apps-are-slow/
Głównie o telefonach, ale jest długi i genialny, przechodzi przez cały stack od sprzętu i tego czemu nie wpierdolić do telefonu po prostu 8GB ramu przez to jak działają różne platformy aż po przeglądarki internetowe i silniki JavaScriptu.


Jak masz jakies artykuly to linkuj. Ja nie ogarniam programowania, ale architektura sama w sobie mnie interesuje.
Member
Posts: 16,718
Joined: Nov 19 2015
Gold: 306.44
Mar 24 2016 04:18am


Code
iPhone SE - specyfikacja techniczna:

4-calowy ekran Retina o rozdzielczości 640 x 1136 pikseli


High quality product.
Member
Posts: 8,238
Joined: Mar 19 2016
Gold: 0.00
Mar 24 2016 05:08am
I obudowa sprzed 3 lat...
Member
Posts: 1,551
Joined: Nov 2 2011
Gold: 0.00
Mar 24 2016 05:08am
Bardzo lubię swojego 6s
Go Back To Polska Topic List
Prev1217218219220221339Next
Add Reply New Topic New Poll