Vous êtes sur la page 1sur 10

Gestion de procesos

AppCore es el que gestiona el ciclo de vida la aplicación y los eventos del sistema, es decir,
es quien controla la creación, reseteo, pausado, reanudación y terminación de las
aplicaciones, y proporciona los manipuladores para los eventos de sistema que decía
antes (como que tengamos poca memoria). Fijaros, que el AppCore, se asienta sobre otro
elemento denominado RUA, que se encarga de gestionar las aplicaciones recientemente
utilizadas (Recently Used Application).

Cuando una aplicación se arranca por el AppCore, la historia que va a seguir puede verse
resumi
da en el
siguient
e
gráfico:
Se explica este diagrama de la siguiente manera. Una vez que la App ha sido ejecutada, Se
da lo que es Create que se encarga de crear e inicializar una ventana para la misma y
reserva de memoria para las estructuras de datos. Luego entra al Main loop o bucle
principal y en seguida a RESET lo cual hace que se ejecute en cada solicitud de
lanzamiento o relanzamiento de la aplicación. PAUSE, corre cuando la ventana de la app
es visible para el usuario. Algunas tareas pueden ser suspendidas en este estado. Por
ultimo saliendo del Main loop se da TERMINATE que da por terminado este bucle.

Cuando se entra en cada estas cajas, la aplicación cambia su estado, ni que decir tiene que
el motivo por el cual una aplicación pasa de una caja a otra (o dicho de otro modo, pasa

de un estado a otro) se debe a la recepción de diferentes tipos de eventos por parte de la


misma. Los estados asociados son los siguientes:

Cuando la aplicación es lanzada por primera vez, pasa al estado de READY para pasar a
continuación al estado CREATED cuando se el evento de creación es llamado. La aplicación
se inicializa en el estado CREATED y una vez realizada esta inicialización, se entra en el
bucle principal de ejecución (en donde la aplicación realiza la función para la cual ha sido
programada) y queda en el estado de RUNNING, para recibir las entradas por parte del
usuario y los eventos. En este estado va a permanecer dependientdo del administrador de
ventanas y del reto de peticiones de lanzamiento de aplicaciones, y en este caso la
aplicación puede pasar al estado de PAUSED o RESUMED según corresponda. Finalmente
el estado TERMINATED se alcanza cuando el evento de terminación de la aplicación se
ejecuta, momento en el cual la aplicación finaliza.

Manipulación de Eventos
Otro elemento muy importante del Aplication Framework es el AUL (Application Utility
Library), encargado de proporcionar los mecanismos necesarios para enviar / recibir las
peticiones de lanzamiento y terminación de las aplicaciones. La AUL funciona como un
demonio y dispone de información sobre todas las aplicaciones en ejecución. Su

funcionamiento se resume en:

Como se aprecia por la figura, el demonio está al tanto de todas las peticiones que se
realizan (launch, resume, terminate) y actúa en consecuencia consultando la base de
datos de información de aplicación, en el caso que la aplicación ya haya sido lanzada, se
realiza un resume de la misma, en caso contrario, si no está ejecutándose, se procede a su
lanzamiento y a la actualización de las base de datos de información de aplicación.

En este esquema, es posible que dos aplicaciones quieran interactuar entre si, y para ello
Tizen provee del Application Data Exchange (ADE) que mediante el intercambio de
paquetes habilita tal posibilidad. La forma de hacerlo consiste en crear un paquete
(bundle), añadirle información y hacer que una aplicación (sender) se lo envíe a otra
destinataria (receiver). Los paquetes que se envían siempre funcionan siguiendo un
esquema del tipo “clave + valor”. La siguiente figura ejemplifica este comportamiento muy
bien:

Finalmente y por ir acabando, me gustaría que os comience a sonar otra palabrota a la


que ya dedicaremos más tiempo, el Application Information Library o AIL es el último de
los elementos que está relacionado con el Application Framework, y sirve para añadir,
actualizar o borrar información de la aplicación, como puede ser su nombre, tipo, ruta al
icono, etc. Si nos fijamos en la figura vemos que cuando una aplicación se descarga y se
almacena en el dispositivo, una petición de instalación es efectuada al administrador de

paquetes (pkgmgr), el cual invoca al wrt-installer o Web Runtime Installer.

Gestión de Memoria

El requisito de memoria (RAM) tamaño de los dispositivos móviles afecta


significativamente tanto el coste de producción y la capacidad de uso del cliente. A
medida que los entornos de ejecución incluyen más procesos (servicios en segundo
plano), y el hardware requiere más memoria asignada exclusivamente, la memoria libre
utilizable para aplicaciones de usuario, lo que también requiere más memoria en estos
días, puede reducir si la manufactura, pero no lo hace aumentar el tamaño de la memoria
extremadamente más. Sin embargo, para dispositivos de bajo presupuesto no podemos
no se puede aumentar el tamaño de la memoria mucho. Por lo que se presentó como se
ha implementado y se utilizan las funciones de administración de memoria del núcleo
Linux para Tizen con el fin de utilizar la plataforma Tizen con espacios de memoria
limitados.

• Dispositivos Graficos y Multimedia

 dispositivos multimedia = dispositivos DMA con buffer enormes

Y que es DRM después de todo.

• Direct Rendering Manager

• Gráficos a nivel del núcleo de controladores de dispositivos que soportan


Direct Rendering Infrastructure.

• Direct Rendering

• Una aplicación se comunica directamente con el controlador de dispositivo


gráfico

• ajuste del modo de visualización

• gestión de memoria de gráficos

Tizen Kernel MM –Multimedia (V4L2 / VB2)


V4L2 / VB2

Tizen recomienda utilizar V4L2 en Tizen núcleo para dispositivos multimedia

 Entrada de vídeo (códec y la cámara) y Radio


 Sin embargo, siempre que el núcleo tiene :
o plugins GStreamer / OpenMAX
o Un método para compartir con otros F / W a través de DMABUF UMM
 Si se utiliza V4L2 / VB2, las cosas se ponen más fácil.

Gestion de E/S

Tizen SDK 2.4 Rev1 apoya el desarrollo de una aplicación en entornos multi-plataforma. En el SDK
2.4 Rev 1, también se puede desarrollar aplicaciones basadas en 2.3.1.

De Tizen 2.4 Rev 1, la instalación de imagen SDK no está soportado oficialmente. Utilizar el
servidor de paquetes Tizen para la instalación.

De Tizen 2.4 Rev 1, el gestor de actualizaciones apoya la creación de reflejo servidor de paquetes.
Sin desinstalar el SDK de Tizen, puede mejorar la velocidad de la instalación de la nueva versión del
SDK, cambiando la dirección del depósito de destino a un repositorio alternativo que existe en su
país o región.

CLI
Se ha añadido soporte para el paquete / instalar características / run / desinstalación para los
proyectos 2.3.0.

Nativo UIB y Enventor

Es compatible con los siguientes sistemas operativos de host:

Tizen 2.3.1 (móvil / usable): Ubuntu ™ 12.04 / 14.04 32-bit / 64-bit

Tizen 2.4 (móvil): Ubuntu ™ 12.04 / 14.04 32 bits / 64 bits, Windows ®7 / 8 de 32 bits / 64 bits

Características modificados

Común

El asistente de proyectos se ha mejorado para abrirse y cerrarse más rápido que en la versión
oficial 2.4.

Para mejorar la seguridad de un dispositivo de Tizen conectado, el permiso de ejecución se ha


cambiado de la raíz / administrador para el desarrollador en algunas de las características que
controlan el dispositivo, tal como el analizador dinámico y SDBD.

El IDE se ha cambiado para mantener la configuración (filtro, nivel de registro, categoría) de la


vista Registro después de que el dispositivo está desconectado.

El valor predeterminado de la propiedad nivel de registro de la vista Registro se ha cambiado de


Detalladopara error.

Instalador y el Administrador de actualizaciones

Un cuadro combinado se ha añadido al gestor de actualización para cambiar fácilmente la


dirección URL del repositorio de destino.

IDE web

Localizar el asistente ha sido sustituido por la vista de localización.

Puede localizar sus archivos de recursos y cadenas.

Puede exportar o importar una cadena localizada en un archivo CSV (valores separados por
comas).

IDE nativo
El contenido / código de asistir característica se ha añadido para la función i18n_get_text ().
Después de completar la función i18n_get_text () en el editor de archivos fuente en C / C ++
pulsando Ctrl + Espacio, se puede ver una lista de parámetros candidato que consiste en cadenas
sin traducir originales que se agregaron al archivo PO.

Al desarrollar una aplicación empaquetada a varios proyectos (por ejemplo, una combinación de
proyectos de bibliotecas compartidas interfaz de usuario y los proyectos de servicio, o la interfaz
de usuario y), los archivos res.xml de los proyectos se fusionan automáticamente. Si un proyecto
no tiene ningún archivo res.xml, un res.xml se genera automáticamente para ese proyecto y se
fusionó con los otros archivos res.xml.

El menú "Exportar a CLI" se ha añadido, y aparece cuando se seleccionan varios proyectos,.

La vista Explorador de recursos ha sido añadido. Al parecer, sólo para proyectos basados en Tizen
2.4, no Tizen 2.3.1.

la política de acondicionamiento de varios proyectos se ha actualizado.

Un proyecto de interfaz de usuario web puede ser empaquetado con varios proyectos de tipo de
widget nativo.

Un proyecto IME nativo puede ser empaquetado con varios proyectos del tipo de aplicación de
interfaz de usuario.

Errores arreglados

Común

La cuestión de la dependencia de Apple JDK, que apareció al iniciar el IDE Tizen y un analizador
dinámico, se ha solucionado.

IDE nativo

El fallo de funcionamiento, lo que provocó que los archivos innecesarios (como archivo .edc) que
se incluirán cuando los módulos nativos fueron empaquetados en el archivo .tpk, se ha
solucionado.

CLI

El fallo, que causó la CLI nativa para volver códigos de éxito a pesar de que una compilación falló,
se ha solucionado.

Problemas conocidos

Gestión de archivos y sistemas de Archivos


Instalador y el Administrador de actualizaciones

Si hay un carácter de varios bytes en la ruta de instalación del SDK de Tizen, algunos paquetes de
desarrollo no pueden encontrar la ubicación del SDK instalada cuando están trabajando.

Al instalar paquetes utilizando la pestaña de todos los paquetes en el gestor de actualizaciones, el


número del indicador de progreso solamente se cambia cada vez que un paquete en la
dependencia se descarga. Mientras se descarga, el número del indicador de progreso no se
cambia.

Cuando se ejecuta el analizador dinámico en Mac OS, la notificación de la actualización del SDK no
aparece cuando hay actualizaciones disponibles SDK.

Si la notificación de actualización del SDK aparece cuando se inicia el IDE Tizen o emulador en Mac
OS, un icono de la terminal (shell.exec) puede aparecer en el muelle durante unos segundos.

IDE nativo

Al importar algunos proyectos generados a partir de Tizen 2.3 Rev2, la importación puede tardar
algún tiempo.

La función Restaurar predeterminados en el proyecto de Nativo propiedades> C / C ++ Build, no


funciona correctamente.

emulador

Ubuntu ™ veces deja de responder durante unos segundos después de cerrar el Administrador de
emuladores. Este problema está relacionado con un error de IBus (Intelligent entrada del bus).
Cuando se produce el problema, reinicie el ibus-daemon escribiendo -drx ibus-daemon en el
símbolo del sistema y utilizar otro marco de referencia, tales como UIM y fcitx, para la entrada
multilingüe.

Para utilizar el emulador de Tizen, instalar un VTx Intel con el apoyo de la CPU, y la última versión
del controlador de la tarjeta gráfica proporcionada por el vendedor.

Compruebe los requisitos previos para el emulador de Tizen:

https://developer.tizen.org/downloads/sdk/installing-sdk/prerequisites-tizen-sdk.

Si la máquina está utilizando la tecnología Nvidia Optimus ™ en cualquiera de Ubuntu ™ o


Windows®, debe establecer el Tizen emulador para funcionar con su tarjeta gráfica NVIDIA®. Si
utiliza Ubuntu ™, compruebe el proyecto abejorro (https://wiki.ubuntu.com/Bumblebee). Si utiliza
Windows, seleccione "Procesador de alta velocidad NVIDIA" como "procesador de gráficos
preferido" en el panel de control Nvidia®.

En Ubuntu ™, si el controlador de gráficos no está actualizado, la sesión de escritorio de Ubuntu ™


puede ser de vez en cuando cierra la sesión al iniciar el Administrador de emuladores, o la piel
emulador se puede extraer de forma incorrecta. Compruebe los requisitos previos y actualizar a la
última versión del controlador de gráficos.

En Ubuntu 14.04 ™, el menú contextual puede aparecer a veces de forma transparente.

En Windows®, dependiendo de su tema de OS (tales como temas para no Aero y temas de


Windows XP), una superficie de visualización puede ser borrado por un tiempo si la ventana del
emulador está cubierta por otra ventana. Si hace clic en la ventana del emulador, la superficie de
la pantalla funciona correctamente de nuevo

En Windows®, si se produce un error de asignación de memoria durante la ejecución del


emulador, intente lo siguiente:

Cierre algunos otros programas y tratar de poner en marcha el nuevo emulador

Si el tamaño de la RAM se establece como 768 o 1024 MB para la máquina virtual en el


Administrador de emuladores, cambiar el tamaño de la RAM a 512 MB.

Aumentar el área de usuario de la memoria virtual en el sistema a 3 GB escribiendo bcdedit / set


IncreaseUserVa 3072 en la consola con derechos de administrador (Windows® 7 solamente) y
reiniciar el sistema.

Si utiliza un MacBook Pro, que tiene tanto Intel HD y GPUs de Nvidia, el emulador se puede
terminar inesperadamente cuando se ejecuta con el OpenGL ES ver. v1.1 y v2.0 opción. Utilice el
ver OpenGL ES. v2.0 y v3.0 opción.

Vous aimerez peut-être aussi