Agenda. Overview do processo de boot Entendendo o processo Zygote Recursos reservados para a aplicação Android

Tamanho: px
Começar a partir da página:

Download "Agenda. Overview do processo de boot Entendendo o processo Zygote Recursos reservados para a aplicação Android"

Transcrição

1

2 Agenda Overview do processo de boot Entendendo o processo Zygote Recursos reservados para a aplicação Android Binders Gerenciamento de memória no Android Garbage Collector Causa de referências perdidas Cuidados com Bitmaps

3 Agenda Performance em layouts ViewStub, include, merge Main Thread Tipos de problema Ferramentas Demo

4 Overview do processo de boot

5 Processo de boot

6 Processo de boot Init O init tem a responsabilidade de inicializar parte do sistema e rodar o init.rc que carregará parte do sistema Android, dentre eles:. - ser vice m an ager: ini cia o binder (respon sável pela comu ni cação entre os processos). - vold: vol ume dae mon con trola a mon tagem de volumes de mídia no sis tema de arquivos. - adbd: android debug ger bridge dae mon servi dor para comu nicação com o cliente adb. - installd: servi dor de insta lação de pacotes/aplicações (*. apk). - Zygote: O zygote é o pai de todos os proces sos Java. OBS: O init.rc é escrito em uma linguagem chamada Android Init Language que é composta por Ações, Comandos, Serviços e opções. service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server

7 BINDER

8 BINDER PROCESS A PROCESS B USER DATA USER DATA Transmission Binder Protocol BC_TRANSACTION Reception Binder Protocol BR_TRANSACTION BINDER DRIVER KERNEL SPACE

9 BINDER

10 RECURSOS

11 Recursos RELÓGIO CELULAR - SMALL CELULAR - LARGE CELULAR - XLARGE MB MB MB MB BINDER 1 MB

12 GERENCIAMENTO DE MEMÓRIA

13 Garbage Collector

14 Gerenciamento de memória Causa de referências perdidas na heap Caso 1: String mystring = new String("Hello World") mystring += ", blz?" FIX - Caso 1: Trocar String por StringBuffer/StringBuilder Caso 2: public interface EventListener<EventResponseType> { public void onevent(eventresponsetype response); }

15 Gerenciamento de memória Causa de referências perdidas na heap Caso 2: public void onresume() { super.onresume(); } SomeObject object = new SomeObject(); object.setsuccesslistener(new EventListener<Boolean>() { public void onevent(boolean response) { Log.d(TAG_NAME, "Valid response? "+response); } }); SomeObjectManager.getSingleton().addObject(object);

16 Gerenciamento de memória Causa de referências perdidas na heap FIX - Caso 2: public void ondestroy() { super.ondestroy(); SomeObject objectfrombefore = SomeObjectManager.getSingleton().getOurObject(); objectfrombefore.setsuccesslistener(null); }

17 Gerenciamento de memória Libere memória sempre que possível Callback da activity que o framework do android irá chamar para notificar sobre o estado da memória da app. - ontrimmemory() (Android API 14+); - onlowmemory() (Android API anteriores a 14 ); - Para ambos os casos a flag TRIM_MEMORY_UI_HIDDEN será entregue; - onstop ainda deve ser usado para liberar recursos;

18 Gerenciamento de memória Verifique quanto de memória está disponível antes de fazer grandes alocações Verifica o espaço de memória da pilha - Runtime.getRuntime().totalMemory(); Verifica quanto de memória já foi consumido - Runtime.getRuntime().totalMemory() - Runtime.getRuntime().freeMemory(); Verifica o tamanho máximo da pilha - Runtime.getRuntime().maxMemory()

19 Gerenciamento de memória Como otimizar o Bitmap em memória

20 Gerenciamento de memória Como otimizar o Bitmap em memória

21 Gerenciamento de memória Resultado Considerando que eu tenho uma imagem 2048x1536 com um insamplesize de 4 eu teria uma imagem de 512x384. Aplicando a formula abaixo eu passaria a carregar em memória ao invés de 12MB uma imagem de 0.75 MB. # Of Pixels X Bit Depth bytes per pixel = File Size in Megabytes (MB) # Of Pixels = 512x384 == # Of bit depth == 16 (Considerando uma boa qualidade) (((((512 * 384) * 16) / 4) / 1024) / 1024) -> 0.75 MB * O resultado acima é baseado em um bitmap ARGB_8888

22 Performance em layouts

23 Performance em layouts ViewStub - Carrega views por demanda o que faz o layout da tela principal ser carregada de forma mais rápida

24 Performance em layouts <include> - Use include quando se tem layout complexo que pode ser reutilizado. Isso ajudará a evitar multiplas telas idênticas com complexidades diferentes. <merge> - O Uso do merge faz com que elementos raiz redundantes sejam inseridos na hierarquia.

25 Main Thread

26 Main Thread

27 Tipos de problemas

28 Tipos de Problemas - OutOfMemoryError - TransactionTooLargeException - Android not responding (ANR) - Force close - Delay na exibição e execução de tarefas - Database corrompido - Review ruim na play store OBS: Apenas seguindo algumas boas práticas do android uma série de problemas podem ser evitados e consequentemente dores de cabeça. :P

29 FERRAMENTAS

30 Ferramentas Hierarchy View

31 Ferramentas Device Monitor

32 Ferramentas Device Monitor - Android Studio

33 Ferramentas TraceView - Timeline

34 Ferramentas TraceView - Profile

35 Ferramentas Android Lint

36 DEMO

37 Demo Objetivo Dado uma sequência de números inteiros em um array mova os zeros para o final do array.

38 Demo Resultado - Método um ( O(nˆ2) ) leva muito mais tempo - Método dois ( O(n) ) é extremamente rápido comparado com o método um

39 Obrigado! Wagner Batista

Android Core. Felipe Silveira felipesilveira.com.br. Aula 2

Android Core. Felipe Silveira felipesilveira.com.br. Aula 2 Android Core Felipe Silveira felipesilveira.com.br Aula 2 Inicialização Inicialização Boot ROM Boot Loader Kernel Init Zygote System Server Boot ROM Boot ROM A. O código de ROM de inicialização irá detectar

Leia mais

Android OLÁ MUNDO MÓVEL. Prof. Dr. Joaquim assunção.

Android OLÁ MUNDO MÓVEL. Prof. Dr. Joaquim assunção. Android OLÁ MUNDO MÓVEL Prof. Dr. Joaquim assunção. Parte 1/3 SDK e Android Studio Java SE Development Kit Download and Install JDK 6 http://www.oracle.com/technetwork/java/javase/downloads/index.html

Leia mais

Usando e Gerenciando Activities

Usando e Gerenciando Activities Usando e Gerenciando Activities Ciclo de vida Activity 2 Especificando a execução Especifica a Activity que é ponto principal de entrada de sua aplicação Se a ação MAIN action ou a categoria LAUNCHER não

Leia mais

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS

TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS TUTORIAL ANDROID ACTIVITY - CONSTRUÇÃO DE TELAS Uma activity é um componente do aplicativo que fornece uma tela com o qual os usuários podem interagir. Uma aplicação geralmente consiste de múltiplas activities,

Leia mais

ALOCAÇÃO DINÂMICA DE MEMÓRIA

ALOCAÇÃO DINÂMICA DE MEMÓRIA INE5408 Estruturas de Dados Semestre 2008/1 Prof. Leandro J. Komosinski ALOCAÇÃO DINÂMICA DE Memória de Computador 1 byte = 8 bits (ex.: 00100110) 1 KB = 1024 bytes 1 MB = 1024 KB 1 GB = 1024 MB Meu computador

Leia mais

Arquitecturas Alternativas. Java Virtual Machine

Arquitecturas Alternativas. Java Virtual Machine Arquitecturas Alternativas Java Virtual Machine Compilação da linguagem Java A linguagem Java é uma linguagem interpretada que é executada por uma máquina virtual software denominada JVM (Java Virtual

Leia mais

Especializado Desenvolvimento de Aplicações para Android

Especializado Desenvolvimento de Aplicações para Android Especializado Desenvolvimento de Aplicações para Android Tecnologias de Informação - Web e Mobile Localidade: Lisboa Data: 02 Apr 2018 Preço: 1240 ( Os valores apresentados não incluem IVA. Oferta de IVA

Leia mais

Prof: Ricardo Quintão Site:

Prof: Ricardo Quintão   Site: Prof: Ricardo Quintão email: ricardo.quintao@uva.br Site: www.rgquintao.com.br O que é Android? O Android é uma plataforma de software que permite criar aplicativos para dispositivos móveis, como smartphones

Leia mais

Especializado Desenvolvimento de Aplicações para Android

Especializado Desenvolvimento de Aplicações para Android Especializado Desenvolvimento de Aplicações para Android Formato do curso: Presencial Localidade: Porto Data: 06 Set. 2016 a 13 Out. 2016 Preço: 1240 Horário: Pós-laboral e Sábados - 3ª e 5ª, das 18h30

Leia mais

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA RIO GRANDE DO NORTE Algoritmos ANSI C - Gerenciamento de Memória Copyright 2014 IFRN Agenda Introdução Alocação dinâmica Funções malloc free calloc realloc

Leia mais

Curso online de Fundamentos em Android. Plano de Estudo

Curso online de Fundamentos em Android. Plano de Estudo Curso online de Fundamentos em Android Plano de Estudo Descrição do programa A Certificação Android ensina como usar as ferramentas necessárias para projetar e implantar aplicativos Android para dispositivos

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Hello World Professor: Danilo Giacobo OBJETIVOS DA AULA Desenvolver o primeiro aplicativo Android Se familiarizar com o ambiente de desenvolvimento Conhecer os principais

Leia mais

Prof: Ricardo Quintão Site:

Prof: Ricardo Quintão   Site: Prof: Ricardo Quintão email: rgquintao@gmail.com Site: www.rgquintao.com.br O que é Android? O Android é uma plataforma de software que permite criar aplicativos para dispositivos móveis, como smartphones

Leia mais

Programação JAVA para Android

Programação JAVA para Android Programação JAVA para Android Objetivos Gerais: Este curso é dirigido a todos os profissionais que sintam necessidade de se especializar no âmbito da programação JAVA para Android e queiram aprender a

Leia mais

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Persistência. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe Persistência alberto@ufs.br de Programação Departamento de Computação Universidade Federal de Sergipe Retrospectiva Quanto ao Tempo de Vida Variáveis Estáticas Variáveis Stack-Dinâmicas Variáveis Heap-Dinâmicas

Leia mais

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que

Leia mais

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INF1337 LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Andrew Diniz da Costa andrew@les.inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores

Leia mais

UNIX Gerência de Memória

UNIX Gerência de Memória UNIX Gerência de Memória Introdução Unix implementado sobre muitos computadores diferen tes baseada, segmentada, paginada, segmentada/paginada A gerência de memória garante: Proteção do espaço de endereçamento

Leia mais

Questão 1. Nome para o arquivo fonte questao1.c

Questão 1. Nome para o arquivo fonte questao1.c Questão 1 Nome para o arquivo fonte questao1.c Construa um programa, na linguagem de programação C, que receba através da entrada padrão um número natural, o qual indicará quantas operações de divisão

Leia mais

Android: Ciclo de vida da Activity

Android: Ciclo de vida da Activity Se sua aplicação estiver em execução e o celular receber uma ligação? O que acontecerá com seu aplicativo? Quais métodos serão executados e em qual ordem? Para respondermos essas perguntas e entendermos

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Professor Ariel da Silva Dias Apresentação Android e IDEs Por que estudar programação para dispositivos móveis? Linha histórica da indústria durante os séculos Feudalismo

Leia mais

Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1)

Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) Prof. João Henrique Kleinschmidt Material elaborado pelo prof. Jesús P. Mena-Chalco 3Q-20108 Mapa de memória

Leia mais

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula

Prof. Rogério Albuquerque de Almeida. Programação Orientada a Objetos II JAVA Décima Segunda Aula Prof. Rogério Albuquerque de Almeida Programação Orientada a Objetos II JAVA Décima Segunda Aula 1 Prof. Rogério Albuquerque de Almeida Programação Orientada a Objeto II Vetores Tratamento de Exceções

Leia mais

MVM Mattos Virtual Machine. Andrey de Oliveira Prof. Mauro Marcelo Mattos, Doutor FURB 2012/2

MVM Mattos Virtual Machine. Andrey de Oliveira Prof. Mauro Marcelo Mattos, Doutor FURB 2012/2 MVM Mattos Virtual Machine Andrey de Oliveira Prof. Mauro Marcelo Mattos, Doutor FURB 2012/2 Roteiro Introdução Objetivos Fundamentação Teórica Desenvolvimento Resultado e Discussão Conclusão Extensões

Leia mais

Introdução ao Desenvolvimento para Dispositivos Móveis

Introdução ao Desenvolvimento para Dispositivos Móveis PARTE II Introdução ao Desenvolvimento para Dispositivos Móveis Victor Adriel de Jesus Oliveira INF - UFRGS Summary PARTE I Introdução a Plataformas Móveis Padrões para o Desenvolvimento de Aplicativos

Leia mais

UTILIZAÇÃO DA BIBLIOTECA DIMEPSAT PARA ANDROID

UTILIZAÇÃO DA BIBLIOTECA DIMEPSAT PARA ANDROID UTILIZAÇÃO DA BIBLIOTECA DIMEPSAT PARA ANDROID Neste manual você irá aprender como desenvolver com a biblioteca do SAT Dimep para Android, que é distribuída no formato Android Archive Library. Para demonstrar

Leia mais

Computação II Orientação a Objetos

Computação II Orientação a Objetos Computação II Orientação a Objetos Fabio Mascarenhas - 2016.2 http://www.dcc.ufrj.br/~fabiom/java Android Android é um sistema operacional para dispositivos móveis Kernel Linux, drivers e bibliotecas do

Leia mais

Discos. Hardware Tadeu Ferreira Oliveira -

Discos. Hardware Tadeu Ferreira Oliveira - Discos Hardware Tadeu Ferreira Oliveira - tadeu.ferreira@ifrn.edu.br Hardware Um ou vários discos Um ou vários braço Cada braço com uma cabeça de leitura Dividido logicamente em: Cilindro Trilha Setor

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS Ciclo de Vida de uma Aplicação Android Professor: Danilo Giacobo OBJETIVOS DA AULA Entender o ciclo de vida de uma aplicação Android. Conhecer algumas dicas para tirar

Leia mais

Por Bruno T Aquino, Roberto Luiz e Ricardo Vinicius Fabri, Abril 14, 2009.

Por Bruno T Aquino, Roberto Luiz e Ricardo Vinicius Fabri, Abril 14, 2009. J2ME E O PERFIL MIDP Por Bruno T Aquino, Roberto Luiz e Ricardo Vinicius Fabri, Abril 14, 2009. INTRODUÇÃO Com o passar do tempo os aparelhos celulares deixaram de ser apenas para ligações e agenda para

Leia mais

Estruturas de Sistemas Operacionais

Estruturas de Sistemas Operacionais Estruturas de Sistemas Operacionais Sistemas Operacionais - Tópicos Componentes do Sistema Serviços de Sistemas Operacionais Chamadas ao Sistema Estrutura do Sistema Máquinas Virtuais Chamadas ao Sistema

Leia mais

Descrição geral do Android

Descrição geral do Android Descrição geral do Android (PDM) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Utilização Home screen: Área de notificações Múltiplas páginas

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Professor Ariel da Silva Dias Desenvolvendo para Android Por que estudar programação para dispositivos móveis? Linha histórica da indústria durante os séculos Feudalismo

Leia mais

Javascript por debaixo dos panos

Javascript por debaixo dos panos Javascript por debaixo dos panos Laís Lima Designer/Front End Developer @ Cosmobots @laislima.dev @laislima_dev @laislimadev Por que entender? É fundamental que você saiba os poderes da linguagem com que

Leia mais

Tutorial sobre Activity: Como carregar um fragmento do mapa para a tela do celular

Tutorial sobre Activity: Como carregar um fragmento do mapa para a tela do celular Tutorial sobre Activity: Como carregar um fragmento do mapa para a tela do celular Esse tutorial tem por objetivo mostrar como criar uma activity que carrega um fragmento do mapa do google maps para a

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização

Leia mais

MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1)

MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) MCTA028 Programação Estruturada Aula 07: - Mapa de memória de um processo - Ponteiros (parte 1) Prof. Jesús P. Mena-Chalco jesus.mena@ufabc.edu.br 3Q-2017 1 Mapa de memória de um processo 2 Alocação de

Leia mais

Expectativa de respostas

Expectativa de respostas Expectativa de respostas Prova Objetiva Questão Resposta 1 A 2 A 3 C 4 B 5 B 6 ANULADA 7 A 8 D 9 A 10 C 11 B 12 ANULADA 13 C 14 D 15 B 16 B 17 ANULADA 18 C 19 C 20 C Prova Discursiva 1. Explique cada um

Leia mais

SISTEMAS EMBARCADOS. Controle de Kernel, gerenciamento de Threads e funções de espera. Prof. André Schneider de Oliveira

SISTEMAS EMBARCADOS. Controle de Kernel, gerenciamento de Threads e funções de espera. Prof. André Schneider de Oliveira Universidade Tecnológica Federal do Paraná (UTFPR) Departamento Acadêmico de Eletrônica (DAELN) SISTEMAS EMBARCADOS Controle de Kernel, gerenciamento de Threads e funções de espera Prof. André Schneider

Leia mais

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO

CIÊNCIA DA COMPUTAÇÃO - LINGUAGEM DE PROGRAMAÇÃO II REVISÃO POO REVISÃO POO INTRODUÇÃO À LINGUAGEM JAVA CRIANDO CLASSES EM JAVA Convenção de Nomes em Java Classes iniciam com letras maiúsculas Métodos, atributos e variáveis locais iniciam com minúsculas. Declaração

Leia mais

LISTA DE EXERCÍCIOS Prof. Daniel de Souza Gomes Aula extra 26/03/2011

LISTA DE EXERCÍCIOS Prof. Daniel de Souza Gomes Aula extra 26/03/2011 Lista de Linguagem de Programação 3/22/2011 1 LISTA DE EXERCÍCIOS Prof. Daniel de Souza Gomes Aula extra 26/03/2011 1. A lista consta de cinco exercícios propostos 2. Resolva a lista em um arquivo Word

Leia mais

Curso: Especializado Desenvolvimento de Aplicações para Android

Curso: Especializado Desenvolvimento de Aplicações para Android Curso: Especializado Desenvolvimento de Aplicações para Android Duração: 66h Área formativa: Programação Web & Mobile Sobre o curso Desde o lançamento dos smartphones no mercado, é crescente a procura

Leia mais

- Mapa de memória de um processo - Ponteiros

- Mapa de memória de um processo - Ponteiros 1 MCTA028 Programação Estruturada - Mapa de memória de um processo - Ponteiros Material preparado a partir de slides dos profs. Jesús Mena-Chalco e Fabrício Olivetti Luiz Rozante 3Q-2018 2 Alocação de

Leia mais

API JDBC. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo

API JDBC. Paulo Ricardo Lisboa de Almeida. 1 Universidade Positivo API JDBC Paulo Ricardo Lisboa de Almeida 1 JDBC JDBC Java Database Connectivity API Java para conexões com bancos de dados Encontrada dentro de java.sql 2 JDBC Necessário driver JDBC do banco Classes concretas

Leia mais

Aplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center

Aplicações em CUDA. Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center Aplicações em CUDA Medialab Instituto de Computação Universidade Federal Fluminense NVIDIA CUDA Research Center Roteiro l Introdução l Eventos l Aspectos históricos l Operações atômicas l Introdução sobre

Leia mais

Chamadas de Sistema (SYSCALL)

Chamadas de Sistema (SYSCALL) Chamadas de Sistema (SYSCALL) Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 26 Sumário 1 Estrutura dos Sistemas Operacionais 2 System Calls

Leia mais

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites.

Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites. Desenvolva de qualquer sistema operacional para qualquer sistema operacional. Sem limites. Gabriel Pereira, Especialista em Java da Clarify Projete e desenvolva situações de Mercado com a criação de um

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Eduardo Ferreira dos Santos Engenharia de Computação Centro Universitário de Brasília UniCEUB Abril, 2016 1 / 20 Sumário 1 Estrutura dos Sistemas Operacionais 2 System Calls 2 / 20

Leia mais

Um Modelo Semântico para a Linguagem Java Jorge Henrique Cabral Fernandes CIC-UnB Junho de Introdução

Um Modelo Semântico para a Linguagem Java Jorge Henrique Cabral Fernandes CIC-UnB Junho de Introdução Um Modelo Semântico para a Linguagem Java Jorge Henrique Cabral Fernandes CIC-UnB Junho de 2004 Introdução Este texto apresenta um modelo semântico inicial para um subconjunto da linguagem Java. A Figura

Leia mais

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação. Processamento Paralelo Threads. Aluno: Wagner Palacio

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação. Processamento Paralelo Threads. Aluno: Wagner Palacio UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO Bacharelado em Sistemas de Informação Processamento Paralelo Threads Aluno: Wagner Palacio Turma: 3º período Professor: Giordano Cabral Recife, 29 de maio de 2012

Leia mais

Linguagens de Programação Classificação

Linguagens de Programação Classificação Classificação Classificação A proximidade que a linguagem de programação tem com a humana determina sua classe (o nível): Linguagem de máquina (primeira geração) Linguagem assembly - de montagem (segunda

Leia mais

Arquiteturas de Computadores. Princípios e exemplos de conjuntos de instruções

Arquiteturas de Computadores. Princípios e exemplos de conjuntos de instruções Arquiteturas de Computadores Princípios e exemplos de conjuntos de instruções Características das aplicações Computação de desktop Ênfase em desempenho de programas com tipos de dados inteiros e ponto-flutuante

Leia mais

Aula 01. Prof. Diemesleno Souza Carvalho

Aula 01. Prof. Diemesleno Souza Carvalho Programação Orientada a Objetos II Aula 01 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... - Apresentação da disciplina;

Leia mais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições

Leia mais

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB

Noçõ linguagem Java. Profs. Marcel Hugo e Jomi Fred Hübner. Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB Noçõ ções básicas b da linguagem Java Profs. Marcel Hugo e Jomi Fred Hübner Departamento de Sistemas e Computação Universidade Regional de Blumenau - FURB Introduçã ção Origem Funcionamento Vantagens Linguagem

Leia mais

Exercícios. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal

Exercícios. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal Exercícios 1) Crie uma função que recebe os coeficientes de uma função do 2o. grau e retorna as raízes sem usar vetor. 2) Faça um programa que acha o maior e o menor inteiro dentro de um vetor de 10 inteiros,

Leia mais

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO

DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS. PROFª. M.Sc. JULIANA H Q BENACCHIO DESENVOLVIMENTO PARA DISPOSITIVOS MÓVEIS PROFª. M.Sc. JULIANA H Q BENACCHIO Threads, Handler e AsyncTask No Android, cada aplicação é executada em um único processo. Cada processo por sua vez tem uma thread

Leia mais

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software

Processo. Gerência de Processos. Um programa em execução. Centro de Informática/UFPE :: Infraestrutura de Software Processo Um programa em execução Gerência de Processos Contexto de Processo Conjunto de Informações para gerenciamento de processo CPU: Registradores Memória: Posições em uso E/S: Estado das requisições

Leia mais

MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas

MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas MCTA001 Algoritmos e Estruturas de Dados I Aula 02: Ponteiros e estruturas Prof. Jesús P. Mena-Chalco 1Q-2019 1 Mapa de memória de um processo 2 Alocação de memória: estática VS Dinâmica Na execução, um

Leia mais

Universidade Federal do Paraná

Universidade Federal do Paraná Universidade Federal do Paraná Departamento de Informática Ciência da Computação Tópicos em Sistemas Embarcados Android Prof. Eduardo Todt 2016 objetivos Com Android studio criar primeira app Projetar

Leia mais

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos

Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos Lista de Exercícios da disciplina Aplicações de Linguagem de Programação Orientada a objetos 1. Para a construção de uma aplicação gráfica se faz necessário conceber a interface de aplicação, identificando-se

Leia mais

Compilação dos trabalhos: questões de concurso

Compilação dos trabalhos: questões de concurso 1 Compilação dos trabalhos: questões de concurso UFBA/DCC/Linguagens para Aplicação Comercial/2009.1 MPU/2007 (Equipe 1) 1 Quanto às variáveis Java, um inteiro de 64 bits em notação de complemento de dois

Leia mais

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga

Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Linguagem de Programação Orientada a Objeto Construtores e Sobrecarga Professora Sheila Cáceres Sobrecarga (overloading) Na mesma classe podemos definir vários métodos com o mesmo nome Sobrecarga O tipo

Leia mais

Gerência de Memória. Sistemas Operacionais Flavio Figueiredo (

Gerência de Memória. Sistemas Operacionais Flavio Figueiredo ( Gerência de Memória Sistemas Operacionais 2017-1 Flavio Figueiredo (http://flaviovdf.github.io) 1 Até Agora Aprendemos que o SO é uma interface entre o hardware eo software Trocas de contexto Gerência

Leia mais

Estrutura de Dados. Aula 07 Alocação Dinâmica

Estrutura de Dados. Aula 07 Alocação Dinâmica Estrutura de Dados Aula 07 Alocação Dinâmica 2 ALOCAÇÃO DINÂMICA Existem três modos de reservar espaço de memória para o armazenamento de informações: 1ª - através do uso de variáveis globais (e estáticas).

Leia mais

Sistemas Operativos. Gestão de memória no Windows NT

Sistemas Operativos. Gestão de memória no Windows NT Sistemas Operativos Gestão de memória no Windows NT Windows Internals, Russinovich, cap. 9, Memory Management Windows Via C/C++, Richter, cap. 13, cap. 14. MSDN, http://msdn.microsoft.com/en-us/library/aa366779(v=vs.85).aspx

Leia mais

Criando o primeiro projeto para entender a estrutura do app

Criando o primeiro projeto para entender a estrutura do app File > New > New Project Criando o primeiro projeto para entender a estrutura do app Escolha o tipo de projeto. Tenha sempre atenção a versão mínima da API a ser utilizada no projeto. Normalmente, quando

Leia mais

Programação de Computadores II TCC /Turma A 1

Programação de Computadores II TCC /Turma A 1 Programação de Computadores II TCC 00.174/Turma A 1 Professor Leandro A. F. Fernandes http://www.ic.uff.br/~laffernandes Conteúdo: Tratamento de exceções Material elaborado pelos profs. Anselmo Montenegro

Leia mais

Manipulação de Bytecode Java

Manipulação de Bytecode Java Manipulação de Bytecode Java Mantendo o espírito Hacker no mundo das linguagens de alto nível André Luiz Breves de Oliveira andre.breves@gmail.com class Hello { public static void main(string[] args) {

Leia mais

Singularity. Sistema operacional construído do zero com o objetivo principal de ser seguro. Alex de Magalhães Machado

Singularity. Sistema operacional construído do zero com o objetivo principal de ser seguro. Alex de Magalhães Machado Sistema operacional construído do zero com o objetivo principal de ser seguro. Alex de Magalhães Machado 05232562 Linguagens de programação seguras, como Java e C#. Compiladores otimizadores geram código

Leia mais

Algoritmos e Técnicas de Programação. Professora Luciana Faria

Algoritmos e Técnicas de Programação. Professora Luciana Faria Algoritmos e Técnicas de Programação Professora Luciana Faria luciana.faria@ifs.ifsuldeminas.edu.br Conceitos Básicos Computadores??? Máquina composta de elemento físicos do tipo eletrônico É uma máquina

Leia mais

Introdução aos Sistemas Operacionais. Subsistema de Arquivos

Introdução aos Sistemas Operacionais. Subsistema de Arquivos Introdução aos Sistemas Operacionais Subsistema de Arquivos Eleri Cardozo FEEC/Unicamp Subsistema de Arquivos O subsistema de arquivos deve prover soluções para as seguintes questões: Como a informação

Leia mais

Java Standard Edition (JSE)

Java Standard Edition (JSE) Java Standard Edition (JSE) 10. Controle de Exceções Esp. Márcio Palheta Gtalk: marcio.palheta@gmail.com 1 Ementa 10. Controle de Exceções; 11. O pacote java.lang; 12. O pacote java.io; 13. Collection

Leia mais

EA998/MC933 Guido Araujo e Sandro Rigo

EA998/MC933 Guido Araujo e Sandro Rigo EA998/MC933 Guido Araujo e Sandro Rigo 1 Introdução Livros adotados (e-books) Learning Android, Marco Gargenta, O Reilly Media (livro texto) Professional Android Application, Reto Meier, Wrox Abordagem

Leia mais

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco. Segunda lista de exercícios v100 Engenharia Elétrica - Eletrônica 2º Semestre de 2015 Prof: Daniel Rodrigo Ferraz Bonetti SSC0300 Linguagem de Programação e Aplicações 1 Faça um programa que leia uma string

Leia mais

Programação Estruturada Prof. Rodrigo Hausen Organização e Gerenciamento de Memória

Programação Estruturada Prof. Rodrigo Hausen  Organização e Gerenciamento de Memória Programação Estruturada Prof. Rodrigo Hausen http://progest.compscinet.org Organização e Gerenciamento de Memória 1 AULA PASSADA - vetores ou arrays Declaração de um vetor (array) em C: tipo nome[tamanho];

Leia mais

Informática Sistemas Operacionais Aula 5. Cleverton Hentz

Informática Sistemas Operacionais Aula 5. Cleverton Hentz Informática Sistemas Operacionais Aula 5 Cleverton Hentz Sumário Introdução Fundamentos sobre Sistemas Operacionais Gerenciamento de Recursos Interface Com Usuário Principais Sistemas Operacionais 2 Introdução

Leia mais

Unix Processos. Geraldo Braz Junior

Unix Processos. Geraldo Braz Junior Unix Processos Geraldo Braz Junior 1 Processos no Unix Unix é multiprogramado; Para cada processo é atribuído um Pid; Diversos daemons são executados: Cron Processamento de emails Gerenciamento da fila

Leia mais

Introdução ao Desenvolvimento de Aplicativos Android

Introdução ao Desenvolvimento de Aplicativos Android Introdução ao Desenvolvimento de Aplicativos Android Preparando o ambiente de desenvolvimento Entre as ferramentas que você precisa instalar estão: JDK - como o Android faz uso da tecnologia Java, é necessário

Leia mais

Programação com Sockets

Programação com Sockets Programação com LP4 Ciência da Computação 1 Comunicação entre processos Nível mais baixo É um tipo particular de modelo de programação em redes utilizado em várias linguagens como: C, C++ e Java São estruturas

Leia mais

Exercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal

Exercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal Exercício Crie uma função que recebe o número de dias até um determinado evento e calcula e retorna o equivalente em meses, semanas e dias, sem usar vetor ou o conceito de vetor. Considerar que todos os

Leia mais

Alocação Dinâmica em C

Alocação Dinâmica em C Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação Alocação Dinâmica em C Profa Rosana Braga Adaptado de material preparado pela profa Silvana Maria Affonso de Lara

Leia mais

VIRTUALIZAÇÃO CORPORATIVA

VIRTUALIZAÇÃO CORPORATIVA VIRTUALIZAÇÃO CORPORATIVA O modelo de virtualização corporativa utilizando o sistema Xen Server sera demostra novamente com o uso da ferramente virtual box de forma que, seja possível a demostração dos

Leia mais

Guia do f12 F12. Developer Tools. Leonardo Tegon

Guia do f12 F12. Developer Tools. Leonardo Tegon Guia do f12 F12 Developer Tools Leonardo Tegon Desenvolver Visualizar e editar o HTML, CSS e JavaScript Gerenciar os dados locais (Cookies, Local Storage) Simular dispositivos mobile Debugar Smartphone

Leia mais

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software

Agenda da Aula. Reuso de Software. Tipos de Reuso. Potenciais Problemas. Vantagens de Reuso. Introdução a Reuso de Software Reuso de Software Aula 02 Agenda da Aula Introdução a Reuso de Software Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo reuso.software@gmail.com Introdução a Reuso de Software Abordagens de Reuso

Leia mais

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega

Introdução Dalvik Linux 2.6. Android. Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega Android Diogo de Campos, João Paulo Pizani Flor, Maurício Oliveira Haensch, Pedro Covolan Bachiega Universidade Federal de Santa Catarina November 18, 2008 Agenda 1 Introdução 2 Dalvik 3 Linux 2.6 Introdução

Leia mais

Comandos TOP, PS e PSTREE

Comandos TOP, PS e PSTREE Comandos TOP, PS e PSTREE Todos estes comandos são responsáveis por mostrar os processos existentes em execução no sistema. Porém com suas diferenças, conforme os slides a seguir. Comando TOP O comando

Leia mais

Collections Framework

Collections Framework Collections Framework 1 Arrays p Manipular array é bastante trabalhoso. p Dificuldades aparecem em diversos momentos: n não podemos redimensionar um array em Java; n é impossível buscar diretamente por

Leia mais

Windows NT 4.0. Centro de Computação

Windows NT 4.0. Centro de Computação Windows NT 4.0 Centro de Computação Tópicos Introdução Instalação Configuração Organização da rede Administração Usuários Servidores Domínios Segurança Tópicos È O sistema operacional Windows NT È Características:

Leia mais

Prof. Jhonatan Fernando

Prof. Jhonatan Fernando Prof. Jhonatan Fernando É uma classe gerenciadora de UI. É possível informar qual layout (arquivo xml) que será carregado para uma determinada activity. O método responsável por informar qual layout será

Leia mais

Desenvolvimento Android. Pontapé inicial...

Desenvolvimento Android. Pontapé inicial... Desenvolvimento Android Pontapé inicial... Toshi Kurauchi andrew.kurauchi@gmail.com @toshikurauchi Por que desenvolver para Android? Por que desenvolver para Android? Por que desenvolver para Android?

Leia mais

FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID

FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID FRAMEWORK PARA GERENCIAMENTO E DISPONIBILIZAÇÃO DE INFORMAÇÕES MULTIMÍDIA GEOLOCALIZADAS NA PLATAFORMA ANDROID Roteiro Introdução Fundamentação teórica Desenvolvimento Conclusões Introdução Plataformas

Leia mais

Laboratório de Ciências Computação

Laboratório de Ciências Computação Laboratório de Ciências Computação APP Inventor https://goo.gl/bx1ezt 1 Dispositivos Móveis e Plataformas Os dispositivos móveis fazem parte de nosso dia a dia e nos permitem aplicar a computação de forma

Leia mais

Roteiro 20/9/2010. Serviço do sistema operacional. Interface. Chamadas de sistemas (System Call) Programas do sistema Projeto e Implementação

Roteiro 20/9/2010. Serviço do sistema operacional. Interface. Chamadas de sistemas (System Call) Programas do sistema Projeto e Implementação BC1518 - Sistemas Operacionais Estrutura de S.O. Aula 02 3 Quadrimestre de 2010 Prof. Marcelo Z. do Nascimento Email: marcelo.nascimento@ufabc.edu.br Roteiro Serviço do sistema operacional Interface Chamadas

Leia mais

AULA 3. Minicurso PET-EE UFRN

AULA 3. Minicurso PET-EE UFRN AULA 3 Minicurso PET-EE UFRN Nesta aula iremos continuar o exemplo anterior criando uma nova activity e adicionando ao botão um método que irá iniciar a mesma. Começaremos criando o método de envio do

Leia mais

Desenvolvimento para dispositivos móveis JavaME

Desenvolvimento para dispositivos móveis JavaME Desenvolvimento para dispositivos móveis JavaME Marcio Seiji Oyamada Aula 1 UNIOESTE Universidade Estadual do Oeste do Paraná Curso de Informática Cascavel - Brasil Introdução Ementa Conceituação de mobilidade

Leia mais

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída

Introdução aos Sistemas Operacionais. Subsistema de Entrada e Saída Introdução aos Sistemas Operacionais Subsistema de Entrada e Saída Eleri Cardozo FEEC/Unicamp Entrada e Saída O subsistema de entrada e saída é responsável pela interface entre o sistema operacional e

Leia mais

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:

Leia mais

A melhor plataforma aberta para redes sociais. Gustavo Caldeira Consultor em arquitetura de sistemas e web social caldeira.santos@gmail.

A melhor plataforma aberta para redes sociais. Gustavo Caldeira Consultor em arquitetura de sistemas e web social caldeira.santos@gmail. A melhor plataforma aberta Gustavo Caldeira Consultor em arquitetura de sistemas e web social caldeira.santos@gmail.com Tópicos Introdução Pré Requisitos/Instalação Plugins Extendendo o Elgg Performance

Leia mais